From: Sam S. <sd...@gn...> - 2004-05-07 16:22:17
|
> * Bruno Haible <oe...@py...t> [2004-05-07 17:41:08 +0200]: > > Sam wrote: >> how about >> >> (namestring >> (merge-pathnames >> (let ((p (if (logpathnamep path) (translate-logical-pathname path) path))) >> (assert (not (wild-pathname-p p)) (p)) >> p) >> *default-pathname-defaults*)) > > You need also to take into account (default-directory). (let ((dir (default-directory))) (unwind-protect (namestring (cd path)) (cd dir))) >> BTW, what does the comment there >> /* (because Unix does not know the default-directory of LISP >> and Win32 is multitasking) */ >> try to convey? > > That explains why the current directory of clisp is not the same as > the current directory in other applications - don't laugh, that wasn't > the case in DOS and on Atari ST - and why therefore making the > pathname absolute is needed. A more modern formulation is welcome :-) you are saying that "current directory" from the CLISP POV is different from "current directory of the CLISP process" from the OS POV? How come? CD calls chdir()/SetCurrentDirectory(), so we should be fine! I am still unclear. -- Sam Steingold (http://www.podval.org/~sds) running w2k <http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/> <http://www.mideasttruth.com/> <http://www.honestreporting.com> MS DOS: Keyboard not found. Press F1 to continue. |