VariablePackage: exclToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 9.0
Unrevised from 8.2 to 9.0.
8.2 version

*additional-logical-pathname-name-chars*

The value of this variable should be a (possibly empty) list of character objects. Any character on this list will be allowed in a word of a logical pathname even if the ANSI spec does not permit such characters to be used. (As specified by the ANSI spec, words in logical pathnames must consist of alphabetic characters, decimal digits, and the minus sign. Not allowed are characters such as underscore (#\_).)

For example, consider the namestring "expert:;engine;steam_power.lisp". Because it contains an underscore, it cannot (per the ANSI spec) be parsed as a logical pathname. Instead, it is parsed as a physical pathname (with a very odd but not, on UNIX, illegal name):

cl-user(102): *additional-logical-pathname-name-chars*
nil
cl-user(103): (describe (pathname "expert:;engine;steam_power.lisp"))
#p"expert:;engine;steam_power.lisp" is a structure of type pathname.  It has
these slots:
 host               nil
 device             :unspecific
 directory          nil
 name               "expert:;engine;steam_power"
[...]

But if #\_ is added to the list bound to *additional-logical-pathname-name-chars*, "expert:;engine;steam_power" does parse as a logical pathname:

cl-user(104): (push #\_ *additional-logical-pathname-name-chars*)
(#\_)
cl-user(105): (describe (pathname "expert:;engine;steam_power.lisp"))
#p"expert:;engine;steam_power.lisp" is a structure of type logical-pathname.
It has these slots:
 host               "expert"
 device             nil
 directory          (:relative "engine")
 name               "steam_power"
[...]

The initial value of this variable is nil, which is the value necessary for ANSI compliance. Note that logical pathname operations will not be portable if the value of this variable is non-nil.

See Logical pathnames: general implementation details in pathnames.htm for more information on this aspect of logical pathnames in Allegro CL.


Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 9.0
Unrevised from 8.2 to 9.0.
8.2 version