ASDF/INTERFACE::TRAVERSE-SUB-ACTIONS

Faré fahree at gmail.com
Tue May 5 17:43:59 UTC 2020


git grep system-input-files doesn't return anything for HEAD, 3.2.0,
3.1.7, 3.1.2. But the name vaguely rings a bell, and I might have
offered a function that does that long ago. A better replacement today
might be
   (input-files :concatenate-source-op system)

Problem: this "solution" will do what you want in case of
package-inferred-systems, or systems where all or most of the
functionality is in secondary systems. In these cases, you might have
to do something more sophisticated, some variant of:

(defun system-lisp-files (x) (remove-if-not (lambda (p) (subpathp p
(system-source-directory x))) (input-files
:monolithic-concatenate-source-op x)))

or if you want to be more subtle in case of non-lisp input files,
something that generalizes the below to somehow work with multiple
phases of operation (see notably how it behaves for iolib):

(defun system-files (system) (mapcar 'component-pathname
(remove-duplicates (remove-if-not (lambda (x) (and (typep x
'source-file) (equal (primary-system-name x) (primary-system-name
system)))) (mapcar 'cdr (plan-actions (make-plan () :load-op
system)))))))

If you get things to work across phases of execution, you'll be in a
good position to also fix POIU.

Good luck.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Poetry is what gets lost in translation. — Robert Frost


On Tue, May 5, 2020 at 12:33 PM Robert Goldman <rpgoldman at sift.info> wrote:
>
> Something is really wrong. Look at this transcript:
>
> rpg at rpg-mbp-2: ~/lisp/asdf $ git checkout 3.3.4
> Note: switching to '3.3.4'.
>
> You are in 'detached HEAD' state. You can look around, make experimental
> changes and commit them, and you can discard any commits you make in this
> state without impacting any branches by switching back to a branch.
>
> If you want to create a new branch to retain commits you create, you may
> do so (now or later) by using -c with the switch command. Example:
>
>   git switch -c <new-branch-name>
>
> Or undo this operation with:
>
>   git switch -
>
> Turn off this advice by setting config variable advice.detachedHead to false
>
> HEAD is now at 082f4ed4 Bump version to 3.3.4
> rpg at rpg-mbp-2: ~/lisp/asdf $ find . -name '*.lisp' -exec fgrep -iq SYSTEM-INPUT-FILES {} \; -print
> rpg at rpg-mbp-2: ~/lisp/asdf $
>
> Similarly, after loading 3.3.4 into SBCL, I see this:
>
> CL-USER(1): (apropos '#:system-input-files)
>
> CL-USER(2):
>
> Similarly on Lispworks:
> ```
> CL-USER 3 > (load "/Users/rpg/lisp/asdf/build/asdf.lisp")
> ; Loading text file /Users/rpg/lisp/asdf/build/asdf.lisp
>
> P"/Users/rpg/lisp/asdf/build/asdf.lisp"
>
> CL-USER 4 > (apropos '#:system-input-files)
>
> CL-USER 5 >
> ```
>
> I just tried (require :asdf) on Lispworks, and still no system-input-files.
>
> I simply have no idea where this is coming from. Please send a minimum working example for Lispworks.



More information about the asdf-devel mailing list