Commit [621eeb] Maximize Restore History

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...

Nikodemus Siivola Nikodemus Siivola 2009-05-20

changed src/code/filesys.lisp
changed src/code/symbol.lisp
changed src/code/target-pathname.lisp
changed src/code/unix-pathname.lisp
changed src/code/unix.lisp
changed src/code/win32-pathname.lisp
changed src/compiler/fndb.lisp
changed src/runtime/wrap.c
changed NEWS
changed package-data-list.lisp-expr
changed version.lisp-expr
src/code/filesys.lisp Diff Switch to side-by-side view
Loading...
src/code/symbol.lisp Diff Switch to side-by-side view
Loading...
src/code/target-pathname.lisp Diff Switch to side-by-side view
Loading...
src/code/unix-pathname.lisp Diff Switch to side-by-side view
Loading...
src/code/unix.lisp Diff Switch to side-by-side view
Loading...
src/code/win32-pathname.lisp Diff Switch to side-by-side view
Loading...
src/compiler/fndb.lisp Diff Switch to side-by-side view
Loading...
src/runtime/wrap.c Diff Switch to side-by-side view
Loading...
NEWS Diff Switch to side-by-side view
Loading...
package-data-list.lisp-expr Diff Switch to side-by-side view
Loading...
version.lisp-expr Diff Switch to side-by-side view
Loading...