1.0.28.61: partial re-implementation of DIRECTORY
authorNikodemus Siivola <nikodemus@random-state.net>
Wed, 20 May 2009 13:51:53 +0000 (13:51 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Wed, 20 May 2009 13:51:53 +0000 (13:51 +0000)
commit621eebe206ae6c6d0d0897d43247ce5e05c2359a
tree2a564f537a6adfc1a5689b52d143ffb48bdbf2aa
parent8ebb917259ea3332d46e0301907e7494107eb2f5
1.0.28.61: partial re-implementation of DIRECTORY

 * Rip out !ENUMERATE-MATCHES, which insisted on walking the
   directory tree from the root -- making using DIRECTORY on
   UNC pathnames a losing proposition.

 * New guts built on top of MAP-DIRECTORY, and it's lower level cousin
   WITH-NATIVE-DIRECTORY-ITERATOR. This seems easier to understand to
   me at least, and was certainly easier than trying to re-architect
   !ENUMERATE-MATCHES. ...and DIRECTORY now works on UNC shares, yay!

   ...and a bunch of associated secondary changes:

   ** Rename UNIX-FILE-KIND NATIVE-FILE-KIND, and move it to
      filesys.lisp.

   ** Add functions UNIX-OPENDIR, UNIX-READDIR, UNIX-CLOSEDIR, and
      UNIX-DIRENT-NAME -- later to be turned into OS-*, and possibly
      moved into SB-SYS.

   ** *IGNORE-WILDCARDS* is no longer needed in MAYBE-MAKE-PATTERN,
       kill it.

   ** Share UNPARSE-*-PIECE as UNPARSE-PHYSICAL-PIECE between Win32
      and Unix: both have the same lisp namestring syntax for pieces,
      and if a third pathname host appears it probably should too.

   ** Fix DEFKNOWN of DIRECTORY: RESOLVE-SYMLINKS needs to be a
      keyword there.

   ** Kill QUICK-INTEGER-TO-STRING -- use %OUTPUT-INTEGER-IN-BASE
      in GENSYM instead.

   ** Kill PATHAME-ORDER, unused.

   ** Follow the same convention as elsewhere for :AS-FILE in
      NATIVE-NAMESTRING on Windows -- users needing the
      no-trailing-slash version are supposed to say :AS-FILE. OS
      pickiness on slash-or-no seems universal...
NEWS
package-data-list.lisp-expr
src/code/filesys.lisp
src/code/symbol.lisp
src/code/target-pathname.lisp
src/code/unix-pathname.lisp
src/code/unix.lisp
src/code/win32-pathname.lisp
src/compiler/fndb.lisp
src/runtime/wrap.c
version.lisp-expr