From 89dbd2cd059975d036d7613c140c24cf00ceef75 Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Thu, 5 May 2005 10:33:31 +0000 Subject: [PATCH] 0.9.0.19: Fix bug discovered by CSR on comp.lang.lisp in message ... treat :overwrite like :append --- NEWS | 2 ++ src/code/fd-stream.lisp | 2 +- tests/stream.impure.lisp | 1 + version.lisp-expr | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 6d37de6..3ba9354 100644 --- 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 diff --git a/src/code/fd-stream.lisp b/src/code/fd-stream.lisp index 93a79ef..bad827a 100644 --- a/src/code/fd-stream.lisp +++ b/src/code/fd-stream.lisp @@ -1875,7 +1875,7 @@ (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))) diff --git a/tests/stream.impure.lisp b/tests/stream.impure.lisp index f133a35..fdc294b 100644 --- a/tests/stream.impure.lisp +++ b/tests/stream.impure.lisp @@ -141,6 +141,7 @@ (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) diff --git a/version.lisp-expr b/version.lisp-expr index bb24120..0bae1c6 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.9.0.18" +"0.9.0.19" -- 1.7.10.4