Hi Robert.

 

My – minor – bad.

 

At a certain point I needed (I still do) the function SYSTEM-INPUT-FILES.  I think Fare send me a simple implementation that worked on the ASDF version of that time (long ago, I guess).  The function is the following.

(defun system-input-files (system)

  (multiple-value-bind (i o)

      (while-collecting (i o)

        (loop for (op . comp)

              in (plan-actions

                  (traverse-sub-actions 'load-op (find-system system)))

              do (map () #'i (input-files op comp))

              (map () #'o (output-files op comp))))

    (remove-if #'(lambda (f) (member f o :test 'pathname-equal))

               (remove-duplicates i :from-end t :test 'pathname-equal))))

 

 

I had manually exported the function from ASDF, hence the function looked legit, while it was not, as it was sitting in my folders and not in ASDF source code.  Sorry.

In any case, I need that function.  A simpler version that was discussed at that time was.

(defun system-files (system)

  (cons (system-source-file system)

        (mapcar 'component-pathname

                (remove-duplicates

                 (required-components system

                                      :other-systems nil

                                      :component-type '(not system))

                 :from-end t))))

 


Any counterindications about the second one?

 

All the best

 

Marco Antoniotti
DISCo, Università degli Studi di Milano-Bicocca

+39 02 6448 7901

bimib.disco.unimib.it

 

 

From: Robert Goldman
Sent: Tuesday, May 5, 2020 18:32
To: Marco Antoniotti
Cc: asdf-devel@common-lisp.net
Subject: Re: ASDF/INTERFACE::TRAVERSE-SUB-ACTIONS

 

Something is really wrong. Look at this transcript:

rpg@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@rpg-mbp-2: ~/lisp/asdf $ find . -name '*.lisp' -exec fgrep -iq SYSTEM-INPUT-FILES {} \; -print
rpg@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.