<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:70.85pt 56.7pt 56.7pt 56.7pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Thank you Faré,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Let me grok your email and then I will see which works best for my needs.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>cheers</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Marco Antoniotti<br>DISCo, Università degli Studi di Milano-Bicocca<o:p></o:p></p><p class=MsoNormal>+39 02 6448 7901<o:p></o:p></p><p class=MsoNormal>bimib.disco.unimib.it<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:fahree@gmail.com">Faré</a><br><b>Sent: </b>Tuesday, May 5, 2020 19:44<br><b>To: </b><a href="mailto:rpgoldman@sift.info">Robert Goldman</a><br><b>Cc: </b><a href="mailto:marco.antoniotti@unimib.it">Marco Antoniotti</a>; <a href="mailto:asdf-devel@common-lisp.net">ASDF-devel</a><br><b>Subject: </b>Re: ASDF/INTERFACE::TRAVERSE-SUB-ACTIONS</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>git grep system-input-files doesn't return anything for HEAD, 3.2.0,</p><p class=MsoNormal>3.1.7, 3.1.2. But the name vaguely rings a bell, and I might have</p><p class=MsoNormal>offered a function that does that long ago. A better replacement today</p><p class=MsoNormal>might be</p><p class=MsoNormal>   (input-files :concatenate-source-op system)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Problem: this "solution" will do what you want in case of</p><p class=MsoNormal>package-inferred-systems, or systems where all or most of the</p><p class=MsoNormal>functionality is in secondary systems. In these cases, you might have</p><p class=MsoNormal>to do something more sophisticated, some variant of:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>(defun system-lisp-files (x) (remove-if-not (lambda (p) (subpathp p</p><p class=MsoNormal>(system-source-directory x))) (input-files</p><p class=MsoNormal>:monolithic-concatenate-source-op x)))</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>or if you want to be more subtle in case of non-lisp input files,</p><p class=MsoNormal>something that generalizes the below to somehow work with multiple</p><p class=MsoNormal>phases of operation (see notably how it behaves for iolib):</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>(defun system-files (system) (mapcar 'component-pathname</p><p class=MsoNormal>(remove-duplicates (remove-if-not (lambda (x) (and (typep x</p><p class=MsoNormal>'source-file) (equal (primary-system-name x) (primary-system-name</p><p class=MsoNormal>system)))) (mapcar 'cdr (plan-actions (make-plan () :load-op</p><p class=MsoNormal>system)))))))</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If you get things to work across phases of execution, you'll be in a</p><p class=MsoNormal>good position to also fix POIU.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Good luck.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org</p><p class=MsoNormal>Poetry is what gets lost in translation. — Robert Frost</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On Tue, May 5, 2020 at 12:33 PM Robert Goldman <rpgoldman@sift.info> wrote:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Something is really wrong. Look at this transcript:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> rpg@rpg-mbp-2: ~/lisp/asdf $ git checkout 3.3.4</p><p class=MsoNormal>> Note: switching to '3.3.4'.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> You are in 'detached HEAD' state. You can look around, make experimental</p><p class=MsoNormal>> changes and commit them, and you can discard any commits you make in this</p><p class=MsoNormal>> state without impacting any branches by switching back to a branch.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> If you want to create a new branch to retain commits you create, you may</p><p class=MsoNormal>> do so (now or later) by using -c with the switch command. Example:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>   git switch -c <new-branch-name></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Or undo this operation with:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>   git switch -</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Turn off this advice by setting config variable advice.detachedHead to false</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> HEAD is now at 082f4ed4 Bump version to 3.3.4</p><p class=MsoNormal>> rpg@rpg-mbp-2: ~/lisp/asdf $ find . -name '*.lisp' -exec fgrep -iq SYSTEM-INPUT-FILES {} \; -print</p><p class=MsoNormal>> rpg@rpg-mbp-2: ~/lisp/asdf $</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Similarly, after loading 3.3.4 into SBCL, I see this:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> CL-USER(1): (apropos '#:system-input-files)</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> CL-USER(2):</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Similarly on Lispworks:</p><p class=MsoNormal>> ```</p><p class=MsoNormal>> CL-USER 3 > (load "/Users/rpg/lisp/asdf/build/asdf.lisp")</p><p class=MsoNormal>> ; Loading text file /Users/rpg/lisp/asdf/build/asdf.lisp</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> P"/Users/rpg/lisp/asdf/build/asdf.lisp"</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> CL-USER 4 > (apropos '#:system-input-files)</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> CL-USER 5 ></p><p class=MsoNormal>> ```</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> I just tried (require :asdf) on Lispworks, and still no system-input-files.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> I simply have no idea where this is coming from. Please send a minimum working example for Lispworks.</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>