Update of /cvsroot/sbcl/sbcl/src/code
In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv8102/src/code
Modified Files:
filesys.lisp
Log Message:
1.0.30.49: delete-file behaviour reversal
In the 1.0.29.x series, DELETE-FILE started deleting the truename of the
given pathname designator (rather than the pathname itself), meaning
that symlinks could no longer be deleted. Revert back to the historical
behaviour. (Noted on sbcl-devel by Luis Oliveira 2009-08-18.)
Although the behaviour hasn't changed recently, there's a similar issue
in RENAME-FILE, but that operator has such bizarre behaviour anyway it
might be worth just letting sleeping pathname functions lie.
Index: filesys.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/filesys.lisp,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -d -r1.87 -r1.88
--- filesys.lisp 31 Jul 2009 09:11:16 -0000 1.87
+++ filesys.lisp 23 Aug 2009 09:09:53 -0000 1.88
@@ -477,8 +477,9 @@
plaforms the stream remains open, allowing IO to continue: the OS resources
associated with the deleted file remain available till the stream is closed as
per standard Unix unlink() behaviour."
- (let* ((truename (truename file))
- (namestring (native-namestring truename :as-file t)))
+ (let* ((pathname (pathname file))
+ (namestring (native-namestring pathname :as-file t)))
+ (truename file) ; for error-checking side-effect
#!+win32
(when (streamp file)
(close file))
|