#560 Windows: short path names are not handled.

lisp error
closed-fixed
clisp (525)
5
2010-08-05
2010-08-04
Elena
No

CLISP 2.49 does not handle short file names on Windows.

This code:

(open #P"C:\\DOCUME~1\\USERRR~2\\IMPOST~1\\Temp\\x.x" :if-does-not-exist :create)

fails with:

*** - OPEN: Directory #P"C:\\DOCUME~1\\USERRR~2\\IMPOST~1\\Temp\\" does not exist

However, C:\DOCUME~1\USERRR~2\IMPOST~1\Temp\ does exist. Using the long path:

(open "C:\\Documents and Settings\\userrrtest\\x.x" :if-does-not-exist :create)

works.

Software:
- CLISP 2.49
- Windows XP SP3
- clisp --version:
GNU CLISP 2.49 (2010-07-07) (built on STSst063.jenty.by [150.0.0.63])
Software: GNU C 3.4.5 (mingw-vista special r3)
gcc -mno-cygwin -g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -Wno-format-nonliteral
-O2 -fexpensive-optimizations -falign-functions=4 -D_WIN32 -DENABLE_UNICODE -I/usr/local/include -DDYNAMIC_FFI -I. -L/usr/local/lib -lintl /usr/local
/lib/libreadline.dll.a -L/usr/local/lib -ltermcap /usr/local/lib/libavcall.a /usr/local/lib/libcallback.a -luser32 -lws2_32 -lole32 -loleaut32 -luuid
-liconv -L/usr/local/lib -lsigsegv libgnu_cl.a
SAFETY=0 HEAPCODES STANDARD_HEAPCODES GENERATIONAL_GC SPVW_BLOCKS SPVW_MIXED TRIVIALMAP_MEMORY
libsigsegv 2.8
libiconv 1.13
libreadline 6.0
Features:
(READLINE REGEXP SYSCALLS I18N LOOP COMPILER CLOS MOP CLISP ANSI-CL COMMON-LISP LISP=CL INTERPRETER SOCKETS GENERIC-STREAMS LOGICAL-PATHNAMES SCREEN
FFI GETTEXT UNICODE BASE-CHAR=CHARACTER PC386 WIN32)
C Modules: (clisp i18n syscalls regexp readline)
Installation directory: C:\Programmi\CommonLisp\CLISP\clisp-2.49\ User language: ENGLISH
Machine: PC/386 (PC/?86) xxx.xxx.local [xx.xx.xx.xx]

Have a nice day.

Discussion

  • thank you for your bug report.
    the bug has been fixed in the CVS tree.
    you can either wait for the next release (recommended)
    or check out the current CVS tree (see http://clisp.cons.org\)
    and build CLISP from the sources (be advised that between
    releases the CVS tree is very unstable and may not even build
    on your platform).

     
    • assigned_to: haible --> ampy
    • status: open --> closed-fixed