Variable | Package: excl | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| 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.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version