0.9.0.19:
authorChristophe Rhodes <csr21@cam.ac.uk>
Thu, 5 May 2005 10:33:31 +0000 (10:33 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Thu, 5 May 2005 10:33:31 +0000 (10:33 +0000)
Fix bug discovered by CSR on comp.lang.lisp in message
<sqacnh7s0q.fsf@cam.ac.uk>
... treat :overwrite like :append

NEWS
src/code/fd-stream.lisp
tests/stream.impure.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 6d37de6..3ba9354 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,8 @@
 changes in sbcl-0.9.1 relative to sbcl-0.9.0:
   * fixed cross-compiler leakages that prevented building a 32-bit
     target with a 64-bit host compiler.
+  * fixed a bug in CLOSE :ABORT T: no longer attempts to remove files
+    opened with :IF-EXISTS :OVERWRITE
   * compiled code is not steppable if COMPILATION-SPEED >= DEBUG.
   * contrib improvement: implement SB-POSIX:MKSTEMP (Yannick Gingras)
   * optimization: There's now a fast-path for fixnum arguments in the
index 93a79ef..bad827a 100644 (file)
       (let ((original (case if-exists
                        ((:rename :rename-and-delete)
                         (pick-backup-name namestring))
-                       ((:append)
+                       ((:append :overwrite)
                         ;; KLUDGE: Provent CLOSE from deleting
                         ;; appending streams when called with :ABORT T
                         namestring)))
index f133a35..fdc294b 100644 (file)
           (with-open-file (f test :direction :output)
             (write-line "test" f))
           (test-mode :append)
+          (test-mode :overwrite)
           ;; FIXME: We really should recover supersede files as well, according to
           ;; CLOSE in CLHS, but at the moment we don't.
           ;; (test-mode :supersede)
index bb24120..0bae1c6 100644 (file)
@@ -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.9.0.18"
+"0.9.0.19"