Bug#766944: slime: Emacs"M-x slime"+sbcl fails with "Package SWANK-REPL does not exist." if cl-swank cache not deleted
I've done some experimenting, and it looks like the problem can be
avoided if the EVAL-WHEN form at the top of cl-presentations.el gets
":execute" added to the list of whens. The reason for this is that
swank is loading the _uncompiled_ "swank-presentations.lisp" and
(eval-when (:load-toplevel) ...) only causes execution when being
loaded post-compilation (which surprised me, but reading hyperspec
looks like it's correct).
You can see the same effect by loading this both with and without
compiling it first:
(eval-when (:load-toplevel) (print "I'm a fasl!"))
For what it's worth, that whole EVAL-WHEN form is new. It was
introduced on september 10 in commit dd60335fe795b12c629fa97a173d3768af157d7f
I'm not sure why it's loading the uncompiled file, though. A compiled
version exists, but it looks like swank-require might not know about
the ~/.cache/common-lisp convention.