[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] Re: trouble with cl-launch
From: |
Camm Maguire |
Subject: |
Re: [Gcl-devel] Re: trouble with cl-launch |
Date: |
16 Oct 2006 13:03:01 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings, and thanks! This should be fixed in cvs head now.
Take care,
"Faré" <address@hidden> writes:
> On 13 Oct 2006 12:18:19 -0400, Camm Maguire <address@hidden> 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 address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah