make DELETE-FILE respect *DEFAULT-PATHNAME-DEFAULTS*
authorNikodemus Siivola <nikodemus@random-state.net>
Sun, 30 Oct 2011 19:51:30 +0000 (21:51 +0200)
committerNikodemus Siivola <nikodemus@random-state.net>
Sun, 30 Oct 2011 20:44:44 +0000 (22:44 +0200)
commit2a0f8515245d080dee97b72ee910c5dcbc4fc5e4
tree19234a2b9c3b2059c9791bd7bfae492e86f27d7a
parent1e006a573276971ed6e1bf91e9f2ddc402cb449e
make DELETE-FILE respect *DEFAULT-PATHNAME-DEFAULTS*

  MERGE-PATHNAMES to get an absolute pathname. (Using TRUENAME would be wrong,
  since then we would delete files pointed to by symbolic links, and not the
  symbolic links themselves -- a nasty regression that would be!)

  Also remove the "for error checking" TRUENAME call from there: unlink will
  give us an errno that tells what we need to know -- and lo! there is one
  race condition less in the system.

  Previously using relative pathnames it was possible to accidentally delete
  the wrong file.

  Fixes lp#882877.

  NB: currently DELETE-DIRECTORY and RENAME-FILE use TRUENAME with just the
      aforementioned unfortunate consequence, but I'm hesitant to change them
      during the freeze -- so dealing with this issue in them will have to
      wait a bit.
NEWS
src/code/filesys.lisp
tests/filesys.test.sh
tests/subr.sh