Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#579 setting *DEFAULT-PATHNAME-DEFAULTS* breaks REQUIRE

lisp error
closed-fixed
Sam Steingold
clisp (525)
5
2010-12-10
2010-12-01
No

With clisp 2.49, when you set *default-pathname-defaults* to a different directory, REQUIRE doesn't find the dynmods anymore.

[pjb@kuiper :0.0 ~]$ clisp -ansi -q -norc
[1]> custom:*load-paths*
(#P"./" "~/lisp/**/")
[2]> *default-pathname-defaults*
#P""
[3]> (setf *default-pathname-defaults* (ext:cd))
#P"/home/pjb/"
[4]> (require "linux")

*** - LOAD: A file with name linux does not exist
The following restarts are available:
ABORT :R1 Abort main loop
Break 1 [5]> :q
[6]> (setf *default-pathname-defaults* #P"")
#P""
[7]> (require "linux")
;; Loading file /data/languages/clisp-2.49/lib/clisp-2.49/dynmod/linux.lisp ...
;; Loading module linux from /data/languages/clisp-2.49/lib/clisp-2.49/dynmod/lib-linux.so
;; Loaded module linux from /data/languages/clisp-2.49/lib/clisp-2.49/dynmod/lib-linux.so
;; Loading file /data/languages/clisp-2.49/lib/clisp-2.49/bindings/glibc/linux.fas ...
;; Loaded file /data/languages/clisp-2.49/lib/clisp-2.49/bindings/glibc/linux.fas
;; Loading file /data/languages/clisp-2.49/lib/clisp-2.49/bindings/glibc/wrap.fas ...
;; Loaded file /data/languages/clisp-2.49/lib/clisp-2.49/bindings/glibc/wrap.fas
;; Loaded file /data/languages/clisp-2.49/lib/clisp-2.49/dynmod/linux.lisp
T
[8]> (quit)
[pjb@kuiper :0.0 ~]$

Also, I note that require takes the symbol name as module name, but on
systems with a lower customary case, it would be better to apply the
customary case common-to-local mapping rules. This would allow us to
use: (require :asdf) like in the other implementations when clisp will
include asdf...

(The rules about common case were choosen to match the upcasing of lisp
symbols, so it seems logical to consider symbols as logical pathnames
parts).

Discussion

  • Sam Steingold
    Sam Steingold
    2010-12-10

    thank you for your bug report.
    the bug has been fixed in the CVS tree.
    you can either wait for the next release (recommended)
    or check out the current CVS tree (see http://clisp.cons.org\)
    and build CLISP from the sources (be advised that between
    releases the CVS tree is very unstable and may not even build
    on your platform).

     
  • Sam Steingold
    Sam Steingold
    2010-12-10

    • assigned_to: haible --> sds
    • summary: When you set default-pathname-defaults to a different dire --> setting DEFAULT-PATHNAME-DEFAULTS breaks REQUIRE
    • status: open --> closed-fixed