Ignore:
Timestamp:
02/06/14 14:28:50 (7 years ago)
Author:
Mark Evenson
Message:

Fix (remaining?) bugs for DIRECTORY.

Fixes Quicklisp, aka the "DIRECTORY no longer works with
:WILD-INFERIORS" problem, q.v. <http://abcl.org/trac/ticket/344>.

DIRECTORY under non-Windows now fills nil DEVICE components with
:UNSPECIFIC, otherwise forms like

(equal (truename "~/.emacs")

(first (directory "~/.emacs")) )

fail (c.f. ANSI test DIRECTORY.[67]).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/doc/design/pathnames/merging-defaults.markdown

    r14174 r14624  
    100100resolving a path to a plain file.
    101101
     102
     103### DIRECTORY sets DEVICE to :UNSPECIFIC
     104
     105When the default for the :RESOLVE-SYMLINKS argument to DIRECTORY was
     106changed to nil, DIRECTORY was changed not to always resolve its
     107results via TRUENAME.  As a result
     108
     109    (equal (truename "~/.emacs")
     110           (first (directory "~/.emacs")) )
     111
     112forms would return nil.  This is a bit counter to expectations set by
     113CLHS that DIRECTORY "returns a list of pathnames corresponding to the
     114truenames".  In particular, this breaks the ANSI CL DIRECTORY.[67]
     115tests.  Thus, under non-Windows we now explicitly normalize DEVICE
     116components which are nil to :UNSPECIFIC for the results of DIRECTORY
     117calls.
     118
    102119### Use an implicit type for merging
    103120
     
    105122is a JAR-PATHNAME and the following conditions hold:
    106123
    107 1.  HOST and DEVICE of the PATHNAME are NIL
     124    1.  HOST and DEVICE of the PATHNAME are NIL
    108125
    109 2.  The DIRECTORY of the PATHNAME represents an absolute path.
     126    2.  The DIRECTORY of the PATHNAME represents an absolute path.
    110127
    111 3.  We are not on Windows.
     128    3.  We are not running under Windows.
    112129
    113130we set the DEVICE to be :UNSPECIFIC.
     
    117134Mark <evenson@panix.com>
    118135Created:  01-SEP-2012
    119 Revised:  09-OCT-2012
     136Revised:  06-FEB-2014
    120137
Note: See TracChangeset for help on using the changeset viewer.