From: Christophe R. <cr...@us...> - 2002-11-07 14:59:36
|
Update of /cvsroot/sbcl/sbcl/src/code In directory usw-pr-cvs1:/tmp/cvs-serv17678/src/code Modified Files: filesys.lisp target-pathname.lisp Log Message: 0.7.9.35: Commit change to TRUENAME behaviour on files naming directories ... shout if anything breaks, please! Index: filesys.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/filesys.lisp,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- filesys.lisp 15 Sep 2002 14:20:24 -0000 1.38 +++ filesys.lisp 7 Nov 2002 14:59:33 -0000 1.39 @@ -725,8 +725,11 @@ (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)))))))) ;;;; miscellaneous other operations @@ -824,14 +827,10 @@ ;; (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 Index: target-pathname.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/target-pathname.lisp,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- target-pathname.lisp 17 Sep 2002 19:52:29 -0000 1.31 +++ target-pathname.lisp 7 Nov 2002 14:59:33 -0000 1.32 @@ -909,7 +909,7 @@ (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)) |