Observe:
% ls -Rl /tmp/foo /tmp/foo: -rw-r--r-- 1 sky users 4625 1997-11-14 21:04 symlinks_1.2.orig.tar.gz
/tmp/foo/src: symlinks_1.2.orig.tar.gz -> /tmp/foo/symlinks_1.2.orig.tar.gz
Now when I call delete-directory-and-files on it I get:
debugger invoked on a OSICAT-POSIX:ENOTEMPTY in thread #<THREAD "initial thread" RUNNING {A9058A1}>: #<ENOTEMPTY 39 :ENOTEMPTY "">
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level.
(OSICAT-POSIX:POSIX-ERROR 39 NIL) 0] :ba
0: (OSICAT-POSIX:POSIX-ERROR 39 NIL) 1: (OSICAT-POSIX::SYSCALL-SIGNAL-POSIX-ERROR #<unavailable argument> NIL) 2: (OSICAT:DELETE-DIRECTORY #P"src/") 3: ((LAMBDA (#:ONE-ITER336)) #<CLOSURE (LABELS OSICAT::ONE-ITER) {AA12545}>) 4: (OSICAT::CALL-WITH-DIRECTORY-ITERATOR #P"/tmp/foo/" #<CLOSURE (LAMBDA #) {AA121ED}>) 5: ((LABELS OSICAT::WALK) #P"/tmp/foo/") 6: (OSICAT:WALK-DIRECTORY #P"/tmp/foo/" #<FUNCTION (LAMBDA #) {B815CF5}>)[:EXTERNAL] 7: (SB-INT:SIMPLE-EVAL-IN-LEXENV (OSICAT:DELETE-DIRECTORY-AND-FILES #P"/tmp/foo/") #<NULL-LEXENV>) 8: (INTERACTIVE-EVAL (OSICAT:DELETE-DIRECTORY-AND-FILES #P"/tmp/foo/"))[:EXTERNAL] 9: (SB-ACLREPL::REP-ONE) 10: (SB-ACLREPL::REPL)[:EXTERNAL] 11: ((LAMBDA (SB-ACLREPL::NOPRINT)) NIL) 12: ((LAMBDA ())) 13: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA #) {A98F005}>) 14: (SB-IMPL::TOPLEVEL-REPL NIL) 15: (SB-IMPL::TOPLEVEL-INIT) 16: ((LABELS SB-IMPL::RESTART-LISP))
A second call finishes without error.
I'm not sure what's the cause for this, but I think something about the filename is fishy.
Leslie