[slime-devel] convert-standard-filename causing invalid syntax

Helmut Eller heller at common-lisp.net
Sun Oct 12 13:28:51 UTC 2008


* Thomas Karolski [2008-10-11 23:15+0200] writes:

> Helmut Eller wrote:
>> Probably, or it could also be a problem with "g:".  Which lisp is this?
>>   
> GNU CLISP 2.46 (2008-07-02) (built on reini [10.0.0.5])
[...]
>  BASE-CHAR=CHARACTER PC386 UNIX CYGWIN)

I guess the cygwin version wants Unix style filenames.

>> PARSE-NAMESTRING isn't very useful for parsing filenames because a
>> (name)string can also be a logical pathname and the syntax for filenames
>> (where filename is whatever the file system defines as filename) can
>> clash with the syntax for logical pathnames.  There is no function in
>> the CL standard to parse filenames, we have to write our own.
>>   
> In CLISP the following works (note the single backslash):
> (parse-namestring "g:\path")

Note that \ is also the escape character in strings, so "g:\path" is the
same as "g:path".

> the following does not (note the double backslash):
> (parse-namestring "g:\\path")
> => PARSE-NAMESTRING: syntax error in filename "g:\\path" at position 2

Has CLISP/Cygwin a function to parse Windows filenames?  We could use
that to provide an implementation for
swank-backend:filename-to-pathname.

>
> I somewhat fail to debug slime, since edebug in emacs has trouble 
> tracing the swank functions. Though it seems the problem lies with the 
> two backslashes.

The *slime-events* buffer contains the log of the messages sent over the
wire.

Helmut.





More information about the slime-devel mailing list