<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body><div style="font-family: sans-serif;"><div class="markdown" style="white-space: normal;">
<p dir="auto">While addressing ASDF <a href="https://gitlab.common-lisp.net/asdf/asdf/-/issues/140" style="color: #3983C4;">issue #140</a> I stumbled on what seems to me to be an error. That is that</p>
<pre style="margin-left: 15px; margin-right: 15px; padding: 5px; background-color: #F7F7F7; border-radius: 5px 5px 5px 5px; overflow-x: auto; max-width: 90vw;"><code style="margin: 0 0; border-radius: 3px; background-color: #F7F7F7; padding: 0px;">(ensure-directory-pathname "")
</code></pre>
<p dir="auto">at least on SBCL, returns a <code style="margin: 0 0; padding: 0 0.25em; border-radius: 3px; background-color: #F7F7F7;">pathname</code> that has <code style="margin: 0 0; padding: 0 0.25em; border-radius: 3px; background-color: #F7F7F7;">NIL</code> in all its slots except <code style="margin: 0 0; padding: 0 0.25em; border-radius: 3px; background-color: #F7F7F7;">HOST</code>.</p>
<p dir="auto">To me, this seemed wrong, and looking further, I found that <code style="margin: 0 0; padding: 0 0.25em; border-radius: 3px; background-color: #F7F7F7;">directory-pathname-p</code> returns <code style="margin: 0 0; padding: 0 0.25em; border-radius: 3px; background-color: #F7F7F7;">T</code> when given this pathname, because <code style="margin: 0 0; padding: 0 0.25em; border-radius: 3px; background-color: #F7F7F7;">directory-pathname-p</code> is defined (in its docstring) as:</p>
<blockquote style="margin: 0 0 5px; padding-left: 5px; border-left: 2px solid #777777; color: #777777;">
<p dir="auto">A directory-pathname is a pathname <em>without</em> a filename.</p>
</blockquote>
<p dir="auto">I would have assumed that a directory pathname was <em>also</em> a pathname with a non-<code style="margin: 0 0; padding: 0 0.25em; border-radius: 3px; background-color: #F7F7F7;">NIL</code> <code style="margin: 0 0; padding: 0 0.25em; border-radius: 3px; background-color: #F7F7F7;">directory</code> component.</p>
<p dir="auto">I am considering making this (incompatible) change, but am interested in any feedback about whether this is the correct thing to do.</p>
</div>
</div>
</body>
</html>