Support long file names on Windows; more CRT function avoidance
authorDavid Lichteblau <david@lichteblau.com>
Mon, 26 Nov 2012 13:53:17 +0000 (14:53 +0100)
committerDavid Lichteblau <david@lichteblau.com>
Wed, 5 Dec 2012 16:34:29 +0000 (17:34 +0100)
commitdea1e4258272053e8ccda1bf670d43b429878fe2
tree4cdb3bea793318fe425d7e6d41cf7629011501f9
parente6132565e6dc12d8ec7f05224ffb422107e3ef4e
Support long file names on Windows; more CRT function avoidance

  - Use native namestrings of the form \\?\ and \\?\UNC\ as required.

  - UNC pathnames now represented using the keyword :UNC in the device.
    This aspect of the implementation is user-visible, but considered
    subject to change.

  - Update a few final holdouts among the file system routines which
    were still using CRT functions and replace them with native versions:
    FILE-LENGTH, QUERY-FILE-SYSTEM, DELETE-FILE, DELETE-DIRECTORY.

  - Sneakily include a getenv change, technically unrelated.

Thanks to Anton Kovalenko.
package-data-list.lisp-expr
src/code/fd-stream.lisp
src/code/filesys.lisp
src/code/pathname.lisp
src/code/win32-pathname.lisp
src/code/win32.lisp
src/compiler/generic/vm-type.lisp
tests/pathnames.impure.lisp
tools-for-build/grovel-headers.c