[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