Hi Robert,

As far as I can tell, the current behavior is buggy, because it implies that ASDF will behave differently when the user chooses to use logical pathnames versus when they don’t.  That’s not a Good Thing.  That’s bad.

Going back to Fare’s argument that ASDF should properly separate decision making into what’s appropriate for the user of the library and the developer of the library, this seems clearly wrong: it implies that the developer of the library gets to choose to make a system that will behave wrong if the user of the library happens to configure ASDF using logical pathnames, a behavior that the ASDF docs claim is fine.  Since it’s up to the user to decide how to configure the source registry, it is inappropriate for ASDF to encourage developers to publish libraries that will break if users make a configuration decision that we claim is acceptable.

If I was to alter the documentation to reflect this behavior, I would be describing something that is a bug as if it was a feature, and worse, would be committing ASDF to maintain this undesirable inconsistency going forward.


On Sep 15, 2024 at 20:07:55 CDT, Robert Dodier <robert.dodier@gmail.com> wrote:

On Sun, Sep 15, 2024 at 4:00 PM Robert P. Goldman <rpgoldman@sift.net> wrote:

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

No, the documentation incorrectly implies that system names containing
uppercase and underscores are invalid in general, when that only
applies if logical pathnames are in the picture. I hope you'll clarify
that.

I read the documentation and showed up here because I thought the code
actually works the way it is described. What a pleasant surprise to
find out it doesn't!

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

OK. I don't want ASDF to somehow distinguish case on a
case-insensitive file system. I only want ASDF to allow for case
distinction if the file system already allows it. This is, in fact,
how the code actually works at present -- I'm asking you to make that
clear in the documentation.

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

These aren't restrictions in general, so I'm asking you to make it
clear that these restrictions only apply in special cases.

Robert