* minor incompatible change: PCL now records the pathname of a file
in which methods and the like are defined, rather than its
truename.
+ * minor incompatible change: TRUENAME now considers the truename of
+ a file naming a directory to be the pathname with :DIRECTORY
+ component indicating that directory.
* more systematization and improvement of CLOS and MOP conformance
in PCL (thanks to Gerd Moellman and Pierre Mai):
** the standard ANSI CL generic function NO-NEXT-METHOD is now
(when (and namestring (sb!unix:unix-file-kind namestring t))
(let ((trueishname (sb!unix:unix-resolve-links namestring)))
(when trueishname
- (let ((*ignore-wildcards* t))
- (pathname (sb!unix:unix-simplify-pathname trueishname))))))))
+ (let* ((*ignore-wildcards* t)
+ (name (sb!unix:unix-simplify-pathname trueishname)))
+ (if (eq (sb!unix:unix-file-kind name) :directory)
+ (pathname (concatenate 'string name "/"))
+ (pathname name))))))))
\f
;;;; miscellaneous other operations
;; (which can arise when e.g. multiple symlinks map to the
;; same truename).
(truenames (make-hash-table :test #'equal))
- (merged-pathname (merge-pathnames pathname
- *default-pathname-defaults*)))
+ (merged-pathname (merge-pathnames pathname)))
(!enumerate-matches (match merged-pathname)
(let* ((*ignore-wildcards* t)
- (truename (truename (if (eq (sb!unix:unix-file-kind match)
- :directory)
- (concatenate 'string match "/")
- match))))
+ (truename (truename match)))
(setf (gethash (namestring truename) truenames)
truename)))
(mapcar #'cdr
(declare (type pathname-designator in-pathname))
(with-pathname (pathname in-pathname)
(with-pathname (wildname in-wildname)
- (macrolet ((frob (field &optional (op 'components-match ))
+ (macrolet ((frob (field &optional (op 'components-match))
`(or (null (,field wildname))
(,op (,field pathname) (,field wildname)))))
(and (or (null (%pathname-host wildname))
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.7.9.34"
+"0.7.9.35"