libera/#abcl - IRC Chatlog
Search
9:17:35
jackdaniel
etimmons: logical pathnames are sadly underspecified, I think that this is conforming
9:18:21
jackdaniel
having a better specification (i.e in wscl) that provides consistent specification to pick up by implementations would be fantastic
9:32:05
pjb
jackdaniel: logical pathnames are quite well specified. What is not specifed, are the physical pathnames, and the mapping between logical pathname and physical pathname (apart from user defined logical-pathname-translations).
9:34:24
pjb
etimmons: if the logical pathname is specified with :case :common, then the translation to physical pathnames will use the "customary" case. The problem is that "customary" case is defined in CL globally, but it is actually dependent on the file system, so you could have different customary cases for different components in a path (assuming mounting different file systems inside different file systems).
9:35:00
pjb
etimmons: so you cannot hold it against an implementation to choose an arbitrary case as customary and apply it globally to translations to physical pathname.
9:36:20
pjb
etimmons: also, the solution is to specify the mapping you want in logical-pathname-translations.
12:03:32
easye
etimmons: RE: logical pathname translation case for all-lowercase physical: I'm not opposed to changing ABCL's behavior to be more in keeping with other contemporaries.
13:33:38
pjb
easye: most implementations on posix will use lower case as customary. On MS-DOS it should be upper case, but MS-Windows, uses Mixed case. Similarly, macOS underlying system layer is bsd|posix should use lower case, but macOS is Mixed case (with or without a case sensitive file system!).
13:34:41
pjb
easye: but even nowadays there remain file systems where the customary case is uppercase: iso-9660 (CD) and various MS-DOS FAT file systems.
13:42:14
etimmons
It seems that link I posted doesn't go to the right note (for me at least). So here's a concrete example of what we're seeing on ABCL, SBCL, and ECL: https://plaster.tymoon.eu/view/2681#
13:45:53
etimmons
So it's not the case of the a/b/c.lisp part that's at issue. It's that the user has provided mixed case in a non-wild part of the translation and that's being ignored
14:05:42
easye
etimmons: thanks for the pointers. I'll take a look at it, as well as review how we treat different filesystem/os combination.