From: Pascal B. <pj...@in...> - 2006-10-30 15:24:29
|
Sam Steingold writes: > Pascal Bourguignon wrote: > > P[98]> (block nil (maphash (lambda (k v) (print k) (return)) *source-= file-db*)) > >=20 > > #P"/a6/users/pjb/src/public/lisp/clisp/susv3-xsi.lisp"=20 > > NIL > > P[99]> (gethash #P"/a6/users/pjb/src/public/lisp/clisp/susv3-xsi.lisp= " *source-file-db*) > > NIL ; > > NIL >=20 > pathnames are not printed readably. > things like :version can be nil or newest without affecting the printed= =20 > representation. > the two identically printed pathnames above are probably different in=20 > that respect. Ok. In the hashtable I had paths gone thru TRUENAME. [ And I misread EQUAL, thinking that (=3D=3D> (functionnaly-equivalent-pathname-p a b) (EQUAL a b)) when it's actually (=3D=3D> (EQUAL a b) (functionnaly-equivalent-pathname-p a b)) ] Well #P is specified to be #.(parse-namestring 'path) and parse-namestring is specified to use *default-pathname-defaults* and I have (pathname-version *default-pathname-defaults*) --> :NEWEST so I'd expect (pathname-verson #P"/tmp/a.c") to be :NEWEST, not NIL, even if we're really in the implementation-defined clause of parse-namest= ring. It would give more consistency, without losing anything. People who want a null version for #P"/tmp/a.c" could set it so in *default-pathname-defaults*. P[157]> (print-pathname *default-pathname-defaults*) Host : NIL Device : NIL Directory : (:ABSOLUTE "a6" "users" "pjb" "src" "public" "lisp" "common-l= isp") Name : NIL Type : NIL Version : :NEWEST #P"/a6/users/pjb/src/public/lisp/common-lisp/" P[158]> (print-pathname #P"/tmp/a.c") Host : NIL Device : NIL Directory : (:ABSOLUTE "tmp") Name : "a" Type : "c" Version : NIL #P"/tmp/a.c" P[159]> (print-pathname (truename #P"/tmp/a.c")) Host : NIL Device : NIL Directory : (:ABSOLUTE "tmp") Name : "a" Type : "c" Version : :NEWEST #P"/tmp/a.c" P[160]>=20 --=20 __Pascal Bourguignon__ http://www.informatimago.com/ Nobody can fix the economy. Nobody can be trusted with their finger on the button. Nobody's perfect. VOTE FOR NOBODY. |