<div dir="ltr"><div>It's not a wild pathname but it does satisfy wild-pathname-p. Given that wild-pathname-p returns t, it is correct that an error is thrown</div><div><a href="http://www.lispworks.com/documentation/HyperSpec/Issues/iss267_w.htm">http://www.lispworks.com/documentation/HyperSpec/Issues/iss267_w.htm</a></div><div><br></div><div>You can address a file called "*" by quoting. <br></div><div>(wild-pathname-p "*") -> (:wild :wild-inferiors)<br></div><div>(wild-pathname-p "\\*") -> nil</div><div>(probe-file "~/*" ) throws an error</div><div>(probe-file "~/\\*") works - I checked by creating a file called "*" in my home directory.</div><div><br></div><div><br></div><div>Alan</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 5, 2023 at 7:27 PM Robert Goldman <<a href="mailto:rpgoldman@sift.net">rpgoldman@sift.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>
<div><div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">In SBCL and Allegro, it's possible for UIOP to create a pathname for a file whose name is "*" and then we can find a file with such a(n odd) pathname.</p>
<p dir="auto">On ABCL, though, this gives me an error:</p>
<pre style="margin-left:15px;margin-right:15px;padding:5px;background-color:rgb(247,247,247);border-radius:5px;overflow-x:auto;max-width:90vw"><code style="margin:0px;border-radius:3px;background-color:rgb(247,247,247);padding:0px">(truename (ensure-pathname "*"))
</code></pre>
<pre style="margin-left:15px;margin-right:15px;padding:5px;background-color:rgb(247,247,247);border-radius:5px;overflow-x:auto;max-width:90vw"><code style="margin:0px;border-radius:3px;background-color:rgb(247,247,247);padding:0px">(truename (uiop:ensure-pathname "*"))
#<THREAD "interpreter" native {21C91F12}>: Debugger invoked on condition of type FILE-ERROR
Cannot find the TRUENAME for a wild pathname.
</code></pre>
<p dir="auto">But actually, I don't think this <em>is</em> a wild pathname:</p>
<pre style="margin-left:15px;margin-right:15px;padding:5px;background-color:rgb(247,247,247);border-radius:5px;overflow-x:auto;max-width:90vw"><code style="margin:0px;border-radius:3px;background-color:rgb(247,247,247);padding:0px">CL-USER(4): (describe (uiop:ensure-pathname "*"))
#P"*" is an object of type PATHNAME:
HOST NIL
DEVICE NIL
DIRECTORY NIL
NAME "*"
TYPE :UNSPECIFIC
VERSION NIL
</code></pre>
<p dir="auto"><em>this</em> is a wild pathname:</p>
<pre style="margin-left:15px;margin-right:15px;padding:5px;background-color:rgb(247,247,247);border-radius:5px;overflow-x:auto;max-width:90vw"><code style="margin:0px;border-radius:3px;background-color:rgb(247,247,247);padding:0px">CL-USER(5): (describe (parse-namestring "*"))
#P"*" is an object of type PATHNAME:
HOST NIL
DEVICE NIL
DIRECTORY NIL
NAME :WILD
TYPE NIL
VERSION NIL
</code></pre>
<p dir="auto">Is this an ABCL bug, since it means ABCL cannot address a file whose name is "*"?</p>
<p dir="auto">The interested may refer to <a href="https://gitlab.common-lisp.net/asdf/asdf/-/issues/140" style="color:rgb(57,131,196)" target="_blank">this ASDF issue</a> and the corresponding merge request.</p>
<p dir="auto">Thanks!</p>
</div>
</div>
</div>
</blockquote></div>