check-pathnames of CLISP (2.49 (2010-07-07) (built 3499302370) (memory 3499302538))


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/**/*")))

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 CLISP (2.49 (2010-07-07) (built 3499302370) (memory 3499302538)) on Unix,
the customary case for the file system of the host NIL of the pathname
"/tmp/name.type" seems to be lower case.



Fields of pathname with :case :common
    Host      : "LOGICAL"
    Device    : :UNSPECIFIC
    Directory : (:ABSOLUTE "dir" "subdir")
    Name      : "name"
    Type      : "type"
    Version   : :NEWEST
*** - STRING=: argument (:ABSOLUTE "DIR" "SUBDIR") should be a string, a symbol
      or a character