On 7/16/17 Jul 16 -10:31 PM, Faré wrote:
- what's in FIND-SYSTEM is accessors to %ADDITIONAL-INPUT-FILES, not
ADDITIONAL-INPUT-FILES and the former has setters as well as getters, so I wasn't sure I could use ADDITIONAL-INPUT-FILES. I'll check.
Checked and confirmed this -- %ADDITIONAL-INPUT-FILES takes only a COMPONENT as argument, so it can't use the convenience methods macro.
Why do you need convenience methods for the internal accessor %ADDITIONAL-INPUT-FILES ? Can't users who need convenience methods (including internal functions) just use ADDITIONAL-INPUT-FILES, and let *its* convenience methods do the trick?
I was just being lazy, but I definitely found that the raw accessor was being called with strings. Our code structure doesn't make it easy to be tidy about this. The very presence of the action convenience files encourages being haphazard about typing, and the fact that CL gives us next to no compile time support makes it worse. Even if I track down all the callers and do the type correction myself, the next time someone calls it (since we have effectively told the programmer "it's ok to use component and action designators everywhere" by having arguments called ACTION and COMPONENT that actually mean ACTION-DESIGNATOR and COMPONENT-DESIGNATOR), we could be back in the soup.
I can fix this, but I think its symptomatic of a real maintenance issue.
- I'll fix this, thanks.
I don't fully understand. I'm looking, and the APPEND call is in the scope of DO-ASDF-CACHE, AFAICT:
;; Memoize input files. (defmethod input-files :around (operation component) (do-asdf-cache `(input-files ,operation ,component) ;; get the additional input files, if any (append (call-next-method) ;; must come after the first, for other code that ;; assumes the first will be the "key" file (additional-input-files operation component))))
Oh, right. Somehow I misread that.
If that's all, I can merge this into the plan branch, and then we should fix the ABCL issues.
Yes, it otherwise looks good.
OK, I'll get %ADDITIONAL-INPUT-FILES seen to, and review the documentation, and then we can merge.
I'll look into ABCL as time permits.
I have a few tweaks to do afterwards: moving the 3.3.0 number past your patches, some comment tweaks I have locally, and pushing back the schedule of warnings to a further release (keep issuing only style-warnings for deprecated functions, for now).
What about merging plan into master after I do that?
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Any sufficiently unadvanced science fiction is indistinguishable from fantasy.