Greetings, and thanks! This should be fixed in cvs head now. Take care,
"Faré" <[EMAIL PROTECTED]> writes: > On 13 Oct 2006 12:18:19 -0400, Camm Maguire <[EMAIL PROTECTED]> wrote: > >> * cl-launch calls gcl with option -batch, and this causes gcl to NOT > >> re-read system::*tmp-dir* from (si::getenv "TMP"). I had to explicitly > >> redefine it, but you probably know a better fix (especially if other > >> variables need to be reinitialized), and the real fix might be on your > >> side. > > OK, this should be fixed in CVS now. > Thank you. I'll keep my workaround there until you release it. > > > > * gcl 2.7 seems to have a buggy make-pathname, that tries to merge a > > > relative :directory with the directory of the default, which causes > > > clc cached objects to be in the wrong place > > > (make-pathname :directory '(:relative "foo" "bar") :defaults > > > (make-pathname :directory '(:absolute "baz" "quux"))) > > > Should return #P"foo/bar/" but instead returns > > > #P"/baz/quux/foo/bar/" > > > > I think this is correct. > I think it is wrong, and all the other Lisp implementations I've tried > agree with me: > clisp sbcl cmucl openmcl allegro ecl > > > From merge-pathnames: > > > > Pathname merging treats a relative directory specially. If > > (pathname-directory pathname) is a list whose car is :relative, and > > (pathname-directory default-pathname) is a list, then the merged > > directory is the value of > > > > (append (pathname-directory default-pathname) > > (cdr ;remove :relative from the front > > (pathname-directory pathname))) > > > > except that if the resulting list contains a string or :wild > > immediately followed by :back, both of them are removed. This removal > > of redundant :back keywords is repeated as many times as possible. If > > (pathname-directory default-pathname) is not a list or > > (pathname-directory pathname) is not a list whose car is :relative, the > > merged directory is (or (pathname-directory pathname) > > (pathname-directory default-pathname)) > > > > > > And from make-pathname: > > > > After the components supplied explicitly by host, > > device, directory, name, type, and version are > > filled in, the merging rules used by merge-pathnames are used to fill > > in any unsupplied components from the defaults supplied by defaults. > > > > > > This is literally what the code does. > > > Note the UNSUPPLIED at the end of the above sentence. In this case, > the pathname IS supplied and it is (:relative ...) and so should NOT > be merged as by merge-pathnames. > > At the very least, this behaviour confuses the hell out of clc. > > > Great! And thanks again for the feedback! > Thanks for all the wonderful free software! > > [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] > Economics is the plural of Morality. > > > -- Camm Maguire [EMAIL PROTECTED] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org http://lists.gnu.org/mailman/listinfo/gcl-devel