gcl-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]