[Ecls-list] truename: no file name supplied
Pascal Bourguignon
pjb at informatimago.com
Mon Aug 18 11:47:04 UTC 2003
Marco Antoniotti writes:
> You could always do
>
> (load (make-pathname :name ".common" :type "lisp" :defaults
> (parse-namestring "/home/pascal/")))
>
> Unfortunately, PARSE-NAMESTRING cannot be relied upon to parse names
> starting with a dot under UNIX.
Ok, this works. But isn't it a little contrieved?
I note that giving load a physical pathname does not work better:
> (load #P"/home/pascal/.common.lisp")
;;; Loading "/home/pascal/.common.lisp"
truename: no file name supplied
Broken at LOAD.
>> :b
Backtrace: LOAD > eval
>>
All the other implementations of Common-Lisp I know (CLisp, SBCL,
CMU-CL) are able to handle _dots_ in the name of a unix file. Note the
plural: there can be several dots in a file name, in addition to the
one or two last dots used to separate the version number and the file
type:
filename '.' filetype [ '.' '~' version-number '~' ]
| filename-without-dots [ '.' filetype ] [ '.' '~' version-number '~' ]
For example: this.is.a.file.name.type.~10~
NNNNNNNNNNNNNNNNNNN TTTT VVVV
For example: .this.is.a.dot.file.name.type.~10~
NNNNNNNNNNNNNNNNNNNNNNNN TTTT VVVV
In anycase, if we want to embed Common-Lisp into unix programs, the
least is to be able to work with unix paths...
--
__Pascal_Bourguignon__ http://www.informatimago.com/
----------------------------------------------------------------------
Do not adjust your mind, there is a fault in reality.
More information about the ecl-devel
mailing list