<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">On 18 Mar 2021, at 11:59, Didier Verna wrote:</p>

<blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px">
<p dir="auto">Hi,</p>

<p dir="auto">I would like to remove some old workaround code from a couple of<br>
systems, wrt to ASDF 3.1.4 bugs (see below). Is it safe to do so now, or<br>
are these "bugs" still lurking around?</p>

<p dir="auto">The relevant parts are as follows:</p>

<p dir="auto">:defsystem-depends-on<br>
  (:net.didierverna.clon.setup/termio<br>
   #+sbcl ;; BUG in ASDF 3.1.4: d-d-o can't deal dependency expanding to NIL<br>
   (:feature :sbcl (:require :sb-grovel))<br>
   #+(or allegro clisp lispworks)<br>
   (:feature (:or :allegro :clisp :lispworks) :cffi-grovel))</p>
</blockquote>

<p dir="auto">Looking at the test suite, I see this test specifically aimed to check this:</p>

<pre style="background-color:#F7F7F7; border-radius:5px 5px 5px 5px; margin-left:15px; margin-right:15px; max-width:90vw; overflow-x:auto; padding:5px" bgcolor="#F7F7F7"><code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0" bgcolor="#F7F7F7">(eval `(def-test-system test-defsystem-depends-on-4
         :defsystem-depends-on ((:feature ,*newsym* "test-defsystem-depends-on-3"))))

(assert (find-system "test-defsystem-depends-on-4"))
</code></pre>

<blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px">
<p dir="auto">and</p>

<p dir="auto">:components (;; bug in ASDF 3.1.4: cannot deal with conditionally defined<br>
           ;; component class!<br>
           #+sbcl (sb-grovel:grovel-constants-file "sbcl/constants"<br>
               :package :net.didierverna.clon :if-feature :sbcl)<br>
           #+(or allegro clisp lispworks)<br>
           (:cffi-grovel-file "cffi/constants"<br>
        :if-feature (:or :allegro :clisp :lispworks))</p>
</blockquote>

<p dir="auto">I don't understand this well enough to know whether it's fixed or not. What's a minimum working example?  Is <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">sb-grovel:grovel-constants-file</code> a component class?  Is this issue with conditionally defined component class, or is this a package issue?  Can't tell.  Can you offer an alternative that wouldn't involve having to pull over a lot of systems?</p>

<p dir="auto">This one seems complex enough -- and so much trouble to make a MWE -- that maybe you want to just change it and see if it breaks.</p>

<blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px">
<p dir="auto">Thank you!</p>

<p dir="auto">-- <br>
¡En Seguida! -- New album: <a href="https://www.didierverna.com/records/en-seguida.php" style="color:#777">https://www.didierverna.com/records/en-seguida.php</a><br>
Available on all digital platforms now!</p>

<p dir="auto">Lisp, Jazz, Aïkido: <a href="http://www.didierverna.info" style="color:#777">http://www.didierverna.info</a></p>
</blockquote>

<p dir="auto">Robert P. Goldman<br>
Research Fellow<br>
Smart Information Flow Technologies (d/b/a SIFT, LLC)</p>

<p dir="auto">319 N. First Ave., Suite 400<br>
Minneapolis, MN 55401</p>

<p dir="auto">Voice:    (612) 326-3934<br>
Email:    <a href="mailto:rpgoldman@SIFT.net" style="color:#3983C4">rpgoldman@SIFT.net</a></p>
</div>
</div>
</body>
</html>