check-pathnames of International Allegro CL Free Express Edition (8.2 [Linux (x86)] (Sep 11, 2010 7:36))

================================================================================

Test and probe conforming logical pathnames, and their translation to
unix physical pathnames.

We want to check the good working of logical pathnames, and the
translation of logical pathnames to physical pathnames, in a
semi-standard way on unix systems.

Namely, given the logical host and its translations:

  (setf (logical-pathname-translations "LOGICAL") nil)
  (setf (logical-pathname-translations "LOGICAL")
        '((#P"LOGICAL:**;*.*" #P"/tmp/**/*.*")
          (#P"LOGICAL:**;*"   #P"/tmp/**/*")))

#P"LOGICAL:DIR;SUBDIR;NAME.TYPE.NEWEST"
must be the same as (make-pathname :host "LOGICAL"
                                   :directory '(:absolute "DIR" "SUBDIR")
                                   :name "NAME" :type "TYPE" :version :newest
                                   :case :common)
and must translate to: #P"/tmp/dir/subdir/name.type" on unix.



Merging physical pathnames specified with :case :common is also tested:

  (merge-pathnames (make-pathname :directory '(:relative "DIR" "SUBDIR")
                                  :name "NAME" :type "TYPE" :version :newest
                                  :case :common :default #1=#P"/tmp/")
                    #1# nil)

must give #P"/tmp/dir/subdir/name.type" on unix.

================================================================================



With International Allegro CL Free Express Edition (8.2 [Linux (x86)] (Sep 11,
2010 7:36)) on Linux, the customary case for the file system of the host NIL of
the pathname "/tmp/name.type" seems to be lower case.


*FEATURES* = (:ALLEGRO-CL-EXPRESS :ALLEGRO-CL-TRIAL :IPV6 :ACL-SOCKET
              :HIPER-SOCKET :PROFILER :COMPILER :USE-STRUCTS-IN-COMPILER :CLOS
              :ATOMIC-SUBWORD-SETF :ATOMIC-SETF :DYNLOAD :DLFCN :UNIX :LINUX
              :REDHAT9 :LINUX86 :X86 :VERIFY-STACK :VERIFY-CAR-CDR
              :LITTLE-ENDIAN :ENCAPSULATING-EFS :RELATIVE-PACKAGE-NAMES
              :MODULE-VERSIONS :IEEE :IEEE-FLOATING-POINT :CONFORMING-IEEE
              :GNU-SOURCE :ICS :COMMON-LISP :ANSI-CL :DRAFT-ANSI-CL-2 :X3J13
              :ALLEGRO :EXCL :FRANZ-INC :ALLEGRO-VERSION>= :ALLEGRO-VERSION=
              :NEW-ENVIRONMENTS :GSGC :FLAVORS :MULTIPROCESSING
              :USE-THREAD-LIBS :DYNLOAD-ACL-LIBRARY :ALLEGRO-V8.2 :SMP-MACROS
              :SSL-SUPPORT)





================================================================================
(MAKE-PATHNAME :HOST "LOGICAL"
  :DEVICE :UNSPECIFIC
  :DIRECTORY (:ABSOLUTE "DIR" "SUBDIR")
  :NAME "NAME"
  :TYPE "TYPE"
  :VERSION :NEWEST
  :CASE :COMMON)


LOGICAL-PATHNAME #P"LOGICAL:dir;subdir;name.type"
Fields of pathname with :case :common
    Host      : "logical"
    Device    : NIL
    Directory : (:ABSOLUTE "DIR" "SUBDIR")
    Name      : "NAME"
    Type      : "TYPE"
    Version   : NIL
--------------------
An unhandled error occurred during initialization:
An error occurred (EXCL::STRING2 argument should be a string) during
the load "check-pathnames.lisp"
ViewGit