From c5eff503e3016f8086e2b88953c7123ded0bf44d Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Mon, 7 Jun 2010 22:10:12 +0000
Subject: [PATCH] code/fd-stream.lisp: o OPEN merges the filename with
 *DEFAULT-PATHNAME-DEFAULTS*, as   required by CLHS sec 19.2.3.

code/filesys.lisp:
o DELETE-FILE, ENSURE-DIRECTORIES-EXIST, and FILE-AUTHOR merge the
  filename with *DEFAULT-PATHNAME-DEFAULTS*, as required by CLHS sec
  19.2.3.

general-info/release-20b.txt:
o Update.
---
 code/fd-stream.lisp          | 4 ++--
 code/filesys.lisp            | 8 ++++----
 general-info/release-20b.txt | 3 +++
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/code/fd-stream.lisp b/code/fd-stream.lisp
index 3398782f8..dc8c1d71f 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 851139b63..abdd5eea4 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 e7891fb36..c2cb3a58f 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
-- 
GitLab