Ignore:
Timestamp:
10/11/12 11:33:19 (8 years ago)
Author:
Mark Evenson
Message:

Refactor PATHNAME implementation details to tighten existing semantics.

None of this should change the behavior of CL:PATHNAME, but it
prepares for that in subsequent patches to address problems in merging
when the defaults points to a JAR-PATHNAME.

Fix COMPILE-FILE to work with source located in jar archive.

Moved Utilities.getFile() to instance method of Pathname which makes
more logical sense. Moved Utilities.getPathnameDirectory() to static
instance classes. These functions no longer merge their argument with
*DEFAULT-PATHNAME-DEFAULTS*, as this should be done explictly at a
higher level in the Lisp calling into Java abstraction.

RENAME-FILE no longer on namestrings, but instead use the result of
TRUENAME invocation, as namestrings will not always roundtrip
exactly back to PATHNAMES.

POPULATE-ZIP-FASL no longer forms its argumentes by merging paths,
instead using MAKE-PATHNAME with controlled defaults.

SYSTEM:NEXT-CLASSFILE-NAME and SYSTEM:COMPUTE-CLASSFILE-NAME changed
to NEXT-CLASSFILE and COMPUTE-CLASSFILE returning PATHNAME objects
rather than namestrings.

Compiler now dumps pathname in alternate form that preserves DEVICE
:UNSPECIFIC.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/dump-form.lisp

    r13653 r14176  
    176176    index))
    177177
     178(declaim (ftype (function (pathname stream) t) dump-pathname))
     179(defun dump-pathname (pathname stream)
     180  (write-string "#P(" stream)
     181  (write-string ":HOST " stream)
     182  (dump-form (pathname-host pathname) stream)
     183  (write-string " :DEVICE " stream)
     184  (dump-form (pathname-device pathname) stream)
     185  (write-string " :DIRECTORY " stream)
     186  (dump-form (pathname-directory pathname) stream)
     187  (write-string " :NAME " stream)
     188  (dump-form (pathname-name pathname) stream)
     189  (write-string " :TYPE " stream)
     190  (dump-form (pathname-type pathname) stream)
     191  (write-string " :VERSION " stream)
     192  (dump-form (pathname-version pathname) stream)
     193  (write-string ")" stream))
     194
    178195(declaim (ftype (function (t stream) t) dump-object))
    179196(defun dump-object (object stream)
     
    183200          ((stringp object)
    184201           (%stream-output-object object stream))
     202          ((pathnamep object)
     203           (dump-pathname object stream))
    185204          ((bit-vector-p object)
    186205           (%stream-output-object object stream))
Note: See TracChangeset for help on using the changeset viewer.