Bill Page wrote:
> On 6/19/07, Waldek Hebisch wrote:
> > Than I would look what '(directory "*.NRLIB/index.KAF")' in algebra
> > directory gives
> > -- it should produce list of pathnames to index.KAF files.
> > The exact result vary from Lisp to Lisp, but the form above was
> > the only one which gave what we want in all Lisps...
> >
> > You may also try '(directory "*.NRLIB\\index.KAF")', to check
> > for possible bug handling slashes.
> >
> 
> All of these functions fail!
> 
> (1) -> )lisp (directory "*.NRLIB/index.KAF")
> 
> Value = NIL
> 
> (1) -> )lisp (directory "*.NRLIB\index.KAF")
> 
> Value = NIL
> (1) -> )lisp (directory "*.NRLIB\\index.KAF")
> 
> Value = NIL
> 
> But the following works:
> 
> (1) -> )sys ls *.NRLIB/index.KAF
> A1AGG-.NRLIB/index.KAF
> A1AGG.NRLIB/index.KAF
> ...
> 
> and this works:
> 
> (1) -> )lisp (directory "*.NRLIB")
> 
> Value = (#p"A1AGG-.NRLIB" #p"A1AGG.NRLIB" #p"ABELGRP-.NRLIB"
>          #p"ABELGRP.NRLIB" #p"ABELMON-.NRLIB" #p"ABELMON.NRLIB"
>          #p"ABELSG-.NRLIB" #p"ABELSG.NRLIB" #p"ACF-.NRLIB"
> ...
> 
> So I guess we can blame some limitation in the wildcard handling in
> paths on Windows. Do you think that it is not safe just to use '
> (directory "*.NRLIB")' ? I will change 'make-databases' to omit the
> '/index.KAF' part and try the build again.
> 

It looks that 'directory' implementation in GCL is rather messy, so
I will not try to fix it.  However, you can try the following (which
works like the old code):

--- wh-sandbox.bb3/src/interp/daase.lisp.pamphlet       2007-06-20 
15:59:32.000000000 +0200
+++ wh-sandbox/src/interp/daase.lisp.pamphlet   2007-06-20 16:32:24.000000000 
+0200
@@ -900,7 +900,19 @@
       (let (nrlibdirs asos skipasos aos)
 
       (chdir (string dirarg))
+      #-:GCL
       (setq nrlibdirs (directory "*.NRLIB/index.KAF"))
+
+      #| directory in GCL (at least gcl-2.6.8) on Windows is buggy,
+      it can not handle pathnames having wildcards in the middle,
+      so we need a workaround.  |#
+      #+:GCL
+      (setq nrlibdirs
+           (mapcar #'(lambda (f)
+                          (concatenate 'string (namestring f)
+                                         "/index.KAF"))
+                   (directory "*.NRLIB")))
+
       (setq asys (directory "*.asy"))
       (setq asos (directory "*.ao"))
 


-- 
                              Waldek Hebisch
[EMAIL PROTECTED] 


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to