[slime-devel] Possible bugs in slime contrib-inclusions

Helmut Eller heller at common-lisp.net
Sat Feb 13 17:13:02 UTC 2010


* Matt Lamari [2010-02-13 16:43+0100] writes:

> I believe for many this is concealed by having their lisp implementation
> able to call "compile-file" and load the affected modules in at runtime
> - the contribs it determines as missing (right or wrong) will compile
> the elements it percieves as missing - my implementation (commercial)
> does not allow this; but it then highlights an inconsistency in the
> implementation.

Your implemenation doesn't allow (load (compile-file ...)) ?  I've never
heard of such an implemenation.  How do you compile/load Swank in the
first place?

> This may explain it:
>
> I configure slime in my .emacs as so:
> (slime-setup '(slime-repl slime-fancy slime-banner slime-asdf
> slime-indentation))
>
> Now, due to my implementation, I want my app to include all of the
> relevant contribs.  To achieve this, I needed to do 2 things.
>
> 1: In Swank-loader.lisp, add swank-indentation to defvar *contribs*

That will compile it if the the source is newer the the fasl file.

> 2:  Address another problem in Swank.lisp. . .

Swank uses REQUIRE in this case and the filename is determined by
calling the hook function swank:*find-module*.  You could customize that
or perhaps swank:*load-path*.

Whether REQUIRE invokes COMPILE-file before loading the file is beyound
our control.

> This is where the compile-file was being decided on and triggered. 
> Basically, despite being present, this test was determining that ASDF
> and Indentation have to be reincluded.
> ASDF and Indentation were being passed in as as :swank-indentation and
> :swank-asdf, then looking for them in *modules* via a string search. 
> However, the string for asdf was "ASDF" not "SWANK-ASDF", and nothing
> for INDENTATION is present at all despite being loaded.

SWANK-ASDF depends on ASDF that would explain it.
swank-indentation.lisp is missing the corresponing PROVIDE, that's a
bug.

Helmut





More information about the slime-devel mailing list