<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;}
h1
        {mso-style-priority:9;
        mso-style-link:"Heading 1 Char";
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:24.0pt;
        font-family:"Calibri",sans-serif;
        font-weight:bold;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.Heading1Char
        {mso-style-name:"Heading 1 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 1";
        font-family:"Calibri",sans-serif;
        font-weight:bold;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
.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>Hi Robert.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>My – minor – bad.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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.<br><br><span style='font-family:"Courier New"'>(defun system-input-files (system)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>  (multiple-value-bind (i o) <o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>      (while-collecting (i o)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>        (loop for (op . comp)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>              in (plan-actions<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>                  (traverse-sub-actions 'load-op (find-system system)))<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>              do (map () #'i (input-files op comp))<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>              (map () #'o (output-files op comp))))<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>    (remove-if #'(lambda (f) (member f o :test 'pathname-equal))<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>               (remove-duplicates i :from-end t :test 'pathname-equal))))<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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.<br><br>In any case, I need that function.  A simpler version that was discussed at that time was.<br><br></p><p class=MsoNormal><span style='font-family:"Courier New"'>(defun system-files (system)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>  (cons (system-source-file system)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>        (mapcar 'component-pathname <o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>                (remove-duplicates<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>                 (required-components system<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>                                      :other-systems nil<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>                                      :component-type '(not system)) <o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>                 :from-end t))))<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><br>Any counterindications about the second one?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>All the best</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:rpgoldman@sift.info">Robert Goldman</a><br><b>Sent: </b>Tuesday, May 5, 2020 18:32<br><b>To: </b><a href="mailto:marco.antoniotti@unimib.it">Marco Antoniotti</a><br><b>Cc: </b><a href="mailto:asdf-devel@common-lisp.net">asdf-devel@common-lisp.net</a><br><b>Subject: </b>Re: ASDF/INTERFACE::TRAVERSE-SUB-ACTIONS</p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p><span style='font-family:"Arial",sans-serif'>Something is really wrong. Look at this transcript:<o:p></o:p></span></p><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7;border-radius:5px 5px 5px 5px;max-width:90vw;overflow-x:auto'><code><span style='color:black;background:#F7F7F7'>rpg@rpg-mbp-2: ~/lisp/asdf $ git checkout 3.3.4</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>Note: switching to '3.3.4'.</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='background:#F7F7F7'><o:p> </o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>You are in 'detached HEAD' state. You can look around, make experimental</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>changes and commit them, and you can discard any commits you make in this</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>state without impacting any branches by switching back to a branch.</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='background:#F7F7F7'><o:p> </o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>If you want to create a new branch to retain commits you create, you may</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>do so (now or later) by using -c with the switch command. Example:</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='background:#F7F7F7'><o:p> </o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>  git switch -c <new-branch-name></span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='background:#F7F7F7'><o:p> </o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>Or undo this operation with:</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='background:#F7F7F7'><o:p> </o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>  git switch -</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='background:#F7F7F7'><o:p> </o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>Turn off this advice by setting config variable advice.detachedHead to false</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='background:#F7F7F7'><o:p> </o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>HEAD is now at 082f4ed4 Bump version to 3.3.4</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>rpg@rpg-mbp-2: ~/lisp/asdf $ find . -name '*.lisp' -exec fgrep -iq SYSTEM-INPUT-FILES {} \; -print</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>rpg@rpg-mbp-2: ~/lisp/asdf $</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><p><span style='font-family:"Arial",sans-serif'>Similarly, after loading 3.3.4 into SBCL, I see this:<o:p></o:p></span></p><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7;border-radius:5px 5px 5px 5px;max-width:90vw;overflow-x:auto'><code><span style='color:black;background:#F7F7F7'>CL-USER(1): (apropos '#:system-input-files)</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='background:#F7F7F7'><o:p> </o:p></span></code></pre><pre style='mso-margin-top-alt:0in;margin-right:11.25pt;margin-bottom:0in;margin-left:11.25pt;margin-bottom:.0001pt;background:#F7F7F7'><code><span style='color:black;background:#F7F7F7'>CL-USER(2):</span><span style='background:#F7F7F7'><o:p></o:p></span></code></pre><p><span style='font-family:"Arial",sans-serif'>Similarly on Lispworks:<br>```<br>CL-USER 3 > (load "/Users/rpg/lisp/asdf/build/asdf.lisp")<br>; Loading text file /Users/rpg/lisp/asdf/build/asdf.lisp<o:p></o:p></span></p><h1><span style='font-size:15.5pt;font-family:"Arial",sans-serif'>P"/Users/rpg/lisp/asdf/build/asdf.lisp"<o:p></o:p></span></h1><p><span style='font-family:"Arial",sans-serif'>CL-USER 4 > (apropos '#:system-input-files)<o:p></o:p></span></p><p><span style='font-family:"Arial",sans-serif'>CL-USER 5 ><br>```<o:p></o:p></span></p><p><span style='font-family:"Arial",sans-serif'>I just tried </span><code><span style='font-size:10.0pt;color:black;background:#F7F7F7'>(require :asdf)</span></code><span style='font-family:"Arial",sans-serif'> on Lispworks, and still no </span><code><span style='font-size:10.0pt;color:black;background:#F7F7F7'>system-input-files</span></code><span style='font-family:"Arial",sans-serif'>.<o:p></o:p></span></p></div></div><p><span style='font-family:"Arial",sans-serif'>I simply have no idea where this is coming from. Please send a minimum working example for Lispworks.<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>