Greetings! "Faré" <[EMAIL PROTECTED]> writes:
> On 12/10/06, Camm Maguire <[EMAIL PROTECTED]> wrote: > > (let* ((compiler::*compiler-default-type* (pathname "")) > > (compiler::*lsp-ext* "")) (compile-file "/tmp/y")) > > works in 2.7 at least. > And not in 2.6. Thanks a lot! That's exactly what I was looking for. > Maybe it deserves being documented better? > Well, yes I suppose. What we have now is not deliberate. What should be deliberate, I do not know. > > (si::save-system "foo") > Great! I've implemented system dumping for cl-launch, however, I have > the following problems: > * 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. > * 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. 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. > That's all for now. I'm sure I'll find more bugs along the way. My > benchmark will be to successfully run Exscribe through cl-launch. > Great! And thanks again for the feedback! Take care, > [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] > "How many libertarians does it take to change a lightbulb?" > A- "None, the market will take care of it." > B- "Every one of them and non-libs too, because we all *are* the market." > C- "*I*'ll do it, for a dollar." > > > -- 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