|
From: Christophe R. <cr...@us...> - 2009-08-23 09:10:03
|
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)) |