From: Pascal J. Bourguignon on 13 Mar 2010 12:27 Rainer Joswig <joswig(a)lisp.de> writes: > Logical pathnames are location and operating system independent > IDs for files and directories. Similar to URNs in the web area - > but more primitive. > > Let's say you have a drawing editor called DRED > and you have a logical pathname host DRED. > > DRED uses a bunch of directories: > > dred:src; for the sources > dred:bin; for binaries > dred:fonts; for special fonts > dred:forms; for various graphical forms > dred:forms;icons; for various icons > dred:examples; for various examples Actually, as soon as you use a character outside of [-A-Z0-9] for any component in the logical pathnames, you lose entirely the advantages of using them, since then their behavior becomes totally implementation dependant. Check "19.3.1 Syntax of Logical Pathname Namestrings": word---one or more uppercase letters, digits, and hyphens. > (setf (logical-pathname-translations "DRED") > `(("dred:**;*.*" ,(compute-your-pathname-here)))) Implementation dependant. Anything can happen. > dred:src;color;chooser.lisp stays the same. Implementation dependant. Anything can happen. > Wherever you work, (ed "dred:src;color;chooser.lisp") will > edit that file. You bet! Implementation dependant. Anything can happen. > Now the system definition should then be done with logical pathnames: > > (my-defsystem dred () > (:serial "dred:src;package" > "dred:src:macros" > "dred:src;drawing" > ... > )) Implementation dependant. Anything can happen. > If you have some additional lisp files to load and you > know that they are in the contrib subdirectory of DRED, then > do for example > (map nil 'load (directory "dred:contrib;*.lisp")). Implementation dependant. Anything can happen. I don't know what you people have against uppercase letters. They're perfectly nice letters. -- __Pascal Bourguignon__
From: Rainer Joswig on 13 Mar 2010 13:30 In article <87fx44qghd.fsf(a)galatea.lan.informatimago.com>, pjb(a)informatimago.com (Pascal J. Bourguignon) wrote: > Rainer Joswig <joswig(a)lisp.de> writes: > > Logical pathnames are location and operating system independent > > IDs for files and directories. Similar to URNs in the web area - > > but more primitive. > > > > Let's say you have a drawing editor called DRED > > and you have a logical pathname host DRED. > > > > DRED uses a bunch of directories: > > > > dred:src; for the sources > > dred:bin; for binaries > > dred:fonts; for special fonts > > dred:forms; for various graphical forms > > dred:forms;icons; for various icons > > dred:examples; for various examples > > Actually, as soon as you use a character outside of [-A-Z0-9] for any > component in the logical pathnames, you lose entirely the advantages of > using them, since then their behavior becomes totally implementation > dependant. > > Check "19.3.1 Syntax of Logical Pathname Namestrings": > > word---one or more uppercase letters, digits, and hyphens. 19.3.1.1.7 When parsing words and wildcard-words, lowercase letters are translated to uppercase. -- http://lispm.dyndns.org/
From: Pascal J. Bourguignon on 13 Mar 2010 13:56 Rainer Joswig <joswig(a)lisp.de> writes: > In article <87fx44qghd.fsf(a)galatea.lan.informatimago.com>, > pjb(a)informatimago.com (Pascal J. Bourguignon) wrote: > >> Rainer Joswig <joswig(a)lisp.de> writes: >> > Logical pathnames are location and operating system independent >> > IDs for files and directories. Similar to URNs in the web area - >> > but more primitive. >> > >> > Let's say you have a drawing editor called DRED >> > and you have a logical pathname host DRED. >> > >> > DRED uses a bunch of directories: >> > >> > dred:src; for the sources >> > dred:bin; for binaries >> > dred:fonts; for special fonts >> > dred:forms; for various graphical forms >> > dred:forms;icons; for various icons >> > dred:examples; for various examples >> >> Actually, as soon as you use a character outside of [-A-Z0-9] for any >> component in the logical pathnames, you lose entirely the advantages of >> using them, since then their behavior becomes totally implementation >> dependant. >> >> Check "19.3.1 Syntax of Logical Pathname Namestrings": >> >> word---one or more uppercase letters, digits, and hyphens. > > 19.3.1.1.7 > > When parsing words and wildcard-words, > lowercase letters are translated to uppercase. All right. So logical pathnames are case insensitive. Good to know. Thanks. -- __Pascal Bourguignon__
From: Zach Beane on 13 Mar 2010 14:12 pjb(a)informatimago.com (Pascal J. Bourguignon) writes: > Rainer Joswig <joswig(a)lisp.de> writes: >> 19.3.1.1.7 >> >> When parsing words and wildcard-words, >> lowercase letters are translated to uppercase. > > All right. So logical pathnames are case insensitive. Good to know. > Thanks. Last time I checked, Allegro CL gets this wrong. In fact, their documentation on logical pathnames reeks of "this part of the standard seemed stupid so we made it easy to make incompatible use of them." It dismays me. Zach
From: Pascal J. Bourguignon on 13 Mar 2010 15:38
Zach Beane <xach(a)xach.com> writes: > pjb(a)informatimago.com (Pascal J. Bourguignon) writes: > >> Rainer Joswig <joswig(a)lisp.de> writes: > >>> 19.3.1.1.7 >>> >>> When parsing words and wildcard-words, >>> lowercase letters are translated to uppercase. >> >> All right. So logical pathnames are case insensitive. Good to know. >> Thanks. > > Last time I checked, Allegro CL gets this wrong. In fact, their > documentation on logical pathnames reeks of "this part of the standard > seemed stupid so we made it easy to make incompatible use of them." It > dismays me. Yes, it is indeed Allegro CL behavior that made me think it was case sensitive. -- __Pascal Bourguignon__ |