#570 probe-pathname bug

lisp error
closed-fixed
clisp (525)
5
2010-10-21
2010-10-14
jxonas
No

Platform: Windows 7 Home Premium 32
Whe I got clisp: https://sourceforge.net/project/platformdownload.php?group_id=1355&sel_platform=8418
Output of 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:\Program Files\clisp-2.49\ User language: ENGLISH

Follow how to reproduce the error:

[15]> (ext:probe-pathname "c:/i-am-not-here")

NIL
[16]> (ext:probe-pathname "c:")

#P"C:\\home\\jonas\\" ;
#P"C:\\home\\jonas\\" ;
3496070011 ;
0
[17]> (ext:probe-pathname "c:/i-am-not-here")

NIL
[18]> (ext:probe-pathname "c:/")

*** - PROBE-PATHNAME: File #P"C:\\" does not exist
The following restarts are available:
ABORT :R1 Abort main loop
Break 1 [19]> :r1

Best,

jxonas

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

     
    • status: open --> closed
     
  • Sam Steingold
    Sam Steingold
    2010-10-18

    • assigned_to: haible --> ampy
    • status: closed --> open
     
  • Sam Steingold
    Sam Steingold
    2010-10-18

    make check gives 1 failure:
    $ cat tests/path.erg
    Form: (LET ((F "path-tst-my-file") TN) (UNWIND-PROTECT (PROGN (SETQ TN (TRUENAME (OPEN F :DIRECTION :PROBE :IF-DOES-NOT-EXIST :CREATE))) (MULTIPLE-VALUE-BIND (TN1 _ FWD) (PROBE-PATHNAME F) (LIST (EQUAL TN (PROBE-FILE F)) (EQUAL TN TN1) (= (FILE-WRITE-DATE TN) FWD) (EQUAL TN (PROBE-PATHNAME (CONCATENATE 'STRING F "/"))) (EQUAL TN (PROBE-PATHNAME (CONCATENATE 'STRING F "///")))))) (DELETE-FILE TN)))

    CORRECT: (T T T T T)
    CLISP : (T T T NIL NIL)
    Differ at position 3: T vs NIL
    CORRECT: (T T)
    CLISP : (NIL NIL)

     
  • Fixed this and (probe-pathname "/") on UNIX.

     
  • Sam Steingold
    Sam Steingold
    2010-10-21

    confirmed, thanks!

     
  • Sam Steingold
    Sam Steingold
    2010-10-21

    • status: open --> closed-fixed