Hi Robert,

In afraid that the system lookup works for you but will not work in general so the documentation must remain as is

We support users who use logical pathnames. We also support users on case insensitive and case preserving file systems.

For that matter, we permit existing systems like “foo” be referred to by ‘foo, and a system named “FOO” could not be designated by ‘foo. 

These restrictions were not just imposed arbitrarily: they have a rationale, as I’ve tried to explain. 

Yours,

    -Robert



Sent from my iPhone



On Sep 15, 2024 at 15:48:11 CDT, Robert Dodier <robert.dodier@gmail.com> wrote:

On Sun, Sep 15, 2024 at 9:00 AM Faré <fahree@gmail.com> wrote:

> > Just to be clear, I don't *want* to use logical pathnames, but I will
> > if it provides a solution to the problem.

> Logical pathnames will make anything WAAAAAYYYY worse.

I am trying to avoid them. I thought perhaps that it would be
necessary -- appears that's not the case; see below.

> >> Just make sure you use a (defsystem |Foo_Bar| ...) with the same case, no?
> Aha, sorry, I meant (defsystem "Foo_Bar" ...) because symbols are downcased.

Yes! (defsystem "Foo_Bar" ...) in a file named Foo_Bar.asd is located
successfully by (asdf:load-system "Foo_Bar"). It's not supposed to
work but it does anyway! Hurray!

At this point can I ask the ASDF developers to resolve the
inconsistency between the code and the documentation by making the
documentation match the code instead of vice versa.

> > Anyway, the documentation says
> > (https://asdf.common-lisp.dev/asdf.html#rule_002dsystem_002ddesignator)
> > that "Foo_Bar" is an unacceptable name since it has both an underscore
> > and uppercase letters.

> I don't know about that restriction against underscores. Looks like
> it's from commit 25bc69c a bit before 3.3.2.14.

No, that commit is only updating the documentation *say* that
underscores are rejected; it doesn't actually implement the test, not
even in the most recent (3.3.7.1) version. (I tried it ASDF 3.3.7.1
with SBCL and CMUCL on Linux.)

I looked at asdf/parse-defsystem.lisp and it doesn't mention
underscore, low_line, _, 95, or 5f (in any case variants).

> It will be enforced with a vengeance against users of logical
> pathnames on SBCL. Not sure anywhere else.

Well, if it's only enforced when logical pathnames are in effect, then
the documentation should say that.

Robert