Glad to help.  Or, perhaps, heλp...

On 5 May 2020, at 12:29, Marco Antoniotti wrote:

Thank you.



I will include the new version in HELambdaP.



Apologies for the miscommunication.



All the best



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

+39 02 6448 7901

bimib.disco.unimib.it





**From:** [Robert Goldman](<mailto:rpgold...@sift.info>)
**Sent:** Tuesday, May 5, 2020 19:27
**To:** [Marco Antoniotti](<mailto:marco.antonio...@unimib.it>)
**Cc:** [asdf-devel@common-lisp.net](<mailto:asdf-devel@common-lisp.net>)
**Subject:** Re: ASDF/INTERFACE::TRAVERSE-SUB-ACTIONS



On 5 May 2020, at 12:05, Marco Antoniotti wrote:

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))))


So what you need here is the full set of plan actions. You should be able to get this as follows:


    (defun system-input-files (system)



      (multiple-value-bind (i o)



          (while-collecting (i o)



            (loop for (op . comp)



in (plan-actions (make-plan nil (make-operation '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))))


`make-plan` will give you what you need to call `plan-actions` on in place of `traverse-sub-actions`.


Reply via email to