And links having relative paths seem to be problematic too.

 |- dir
 |- link-dir -> ../TEST/dir/

ecl -norc
ECL (Embeddable Common-Lisp) 11.1.1 (git:15d1c6dfdf74b171bc79477d1d0105cde8297219)

(truename "link-dir") ; => #P"/home/bege/TEST/../TEST/dir/"


2011/12/30 Gábor Balázs <>

It seems it still doesn't handle directory names in file form.

ecl -norc
ECL (Embeddable Common-Lisp) 11.1.1 (git:15d1c6dfdf74b171bc79477d1d0105cde8297219)

(truename "..")  ; => #P"/home/bege/../" ; bad
(truename "../") ; => #P"/home/bege/"    ; ok

Maybe this would be good to have too...


2011/12/30 Juan Jose Garcia-Ripoll <>
2011/12/31 Gábor Balázs <>
The truename function doesn't resolve some of the "." and ".." directories along the path, so it doesn't provide a canonical path.

They were actually two unrelated bugs. One was that "." is normally removed by ECL from pathnames at construction time. This was broken. The other one was that the lines that remove ".." in TRUENAME were not doing their job because of a typo.

I have uploaded fixes for both things, together with the other 45 commits which are still being uploaded (some problems earlier tonight)


Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)