diff --git a/code/fd-stream.lisp b/code/fd-stream.lisp index 3398782f8fd198adf92dfb9b2963887d0041c9a2..dc8c1d71f588967376032cf519641301d3a8add6 100644 --- a/code/fd-stream.lisp +++ b/code/fd-stream.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/fd-stream.lisp,v 1.100 2010/04/20 17:57:44 rtoy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/fd-stream.lisp,v 1.101 2010/06/07 22:10:11 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -2171,7 +2171,7 @@ :if-does-not-exist)) (setf (getf options :if-does-not-exist) if-does-not-exist)) - (let ((filespec (pathname filename)) + (let ((filespec (merge-pathnames filename)) (options (copy-list options)) (class (or class 'fd-stream))) (cond ((eq class 'fd-stream) diff --git a/code/filesys.lisp b/code/filesys.lisp index 851139b63f96d59fa1e9da3fb08f3adf12f3acfe..abdd5eea42557276d6fddd94aeede1d5b9af0986 100644 --- a/code/filesys.lisp +++ b/code/filesys.lisp @@ -6,7 +6,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/filesys.lisp,v 1.110 2010/04/20 17:57:44 rtoy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/filesys.lisp,v 1.111 2010/06/07 22:10:11 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -961,7 +961,7 @@ ;;; (defun delete-file (file) "Delete the specified file." - (let ((namestring (unix-namestring file t))) + (let ((namestring (unix-namestring (merge-pathnames file) t))) (when (streamp file) ;; Close the file, but don't try to revert or anything. We want ;; to delete it, man! @@ -1054,7 +1054,7 @@ optionally keeping some of the most recent old versions." (error 'simple-file-error :pathname file :format-control (intl:gettext "Bad place for a wild pathname.")) - (let ((name (unix-namestring (pathname file) t))) + (let ((name (unix-namestring (merge-pathnames file) t))) (unless name (error 'simple-file-error :pathname file @@ -1458,7 +1458,7 @@ optionally keeping some of the most recent old versions." "Tests whether the directories containing the specified file actually exist, and attempts to create them if they do not. Portable programs should avoid using the :MODE keyword argument." - (let* ((pathname (pathname pathspec)) + (let* ((pathname (merge-pathnames pathspec)) (pathname (if (logical-pathname-p pathname) (translate-logical-pathname pathname) pathname)) diff --git a/general-info/release-20b.txt b/general-info/release-20b.txt index e7891fb368fe55695251e6e08b85fab6e3959177..c2cb3a58fd8c314a7348793ff43f0ac0e93e95fc 100644 --- a/general-info/release-20b.txt +++ b/general-info/release-20b.txt @@ -77,6 +77,9 @@ New in this release: - DEFINE-COMPILER-MACRO no longer sets the wrong block name for SETF functions. We also check that the name is a valid function name; an error is signaled if it's invalid. + - DELETE-FILE, ENSURE-DIRECTORIES-EXIST, FILE-AUTHOR, and OPEN now + merge the given pathname with *DEFAULT-PATHNAME-DEFAULTS* as + required by CLHS sec 19.2.3. * Bugfixes: - On Unicode builds, printing of '|\|| and '|`| was incorrect