From fa64625619eb50263aa763fa8ee6b8ee32f64ab1 Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Mon, 19 Jan 2004 21:05:54 +0000 Subject: [PATCH] 0.8.7.18: A couple of ANSI fixes ... LOAD-LOGICAL-PATHNAME-TRANSLATION's return value was wrong(!) ... RENAME-FILE now has a chance of working on streams, because the utterly screwy FILE-NAME now receives a pathname, which it likes, rather than a namestring, which it doesn't. --- NEWS | 4 ++++ src/code/filesys.lisp | 2 +- src/code/target-pathname.lisp | 5 ++++- version.lisp-expr | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index b08faff..3ca21d1 100644 --- a/NEWS +++ b/NEWS @@ -2254,6 +2254,10 @@ changes in sbcl-0.8.8 relative to sbcl-0.8.7: ** INPUT-STREAM-P, OUTPUT-STREAM-P, STREAM-ELEMENT-TYPE and OPEN-STREAM-P signal a TYPE-ERROR if their argument is not a stream. + ** LOAD-LOGICAL-PATHNAME-TRANSLATIONS returns NIL if the logical + host is already defined. + ** RENAME-FILE works on streams instead of signalling an internal + type error. planned incompatible changes in 0.8.x: * (not done yet, but planned:) When the profiling interface settles diff --git a/src/code/filesys.lisp b/src/code/filesys.lisp index 32a48ef..f5f8ffc 100644 --- a/src/code/filesys.lisp +++ b/src/code/filesys.lisp @@ -756,7 +756,7 @@ ~I~_~A~:>" :format-arguments (list original new-name (strerror error)))) (when (streamp file) - (file-name file new-namestring)) + (file-name file new-name)) (values new-name original (truename new-name))))) (defun delete-file (file) diff --git a/src/code/target-pathname.lisp b/src/code/target-pathname.lisp index c76ee42..f647b52 100644 --- a/src/code/target-pathname.lisp +++ b/src/code/target-pathname.lisp @@ -1506,7 +1506,10 @@ a host-structure or string." (values (member t nil))) (if (find-logical-host host nil) ;; This host is already defined, all is well and good. - t + nil ;; ANSI: "The specific nature of the search is ;; implementation-defined." SBCL: doesn't search at all + ;; + ;; FIXME: now that we have a SYS host that the system uses, it + ;; might be cute to search in "SYS:TRANSLATIONS;.LISP" (error "logical host ~S not found" host))) diff --git a/version.lisp-expr b/version.lisp-expr index 11ab5cf..3979734 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.8.7.17" +"0.8.7.18" -- 1.7.10.4