Daniel Herring dherring@tentpost.com writes:
Q: Have Quicklisp distribute Slime? A: Sure! (Doesn't it already?) Q: Have Slime rely on ASDF? A: Sure. The current Slime loader is generally reliable, but there is something to be said for pooling effort in a common solution, and ASDF has really improved in recent years. Q: Have Slime rely on Quicklisp? A: No way! You've got this all backwards. Quicklisp adds downloading, dependency management, and such to ASDF. It also assumes a network connection and a certain level of trust in the repository.
Follow pull request #83, which proposes to implement exactly these options.
Thinking about an ideal, non-Quicklisp-assisted install, could something like the following work?
- download and extract Slime (zip, tar.gz, or txz)
- open slime-install.lisp in Emacs
- follow some instructions that start an interactive session that configures and
installs (or upgrades) Slime
It could work, but doesn't have to be that complicated, i.e. that interactive session is too much I think. One of the following emacs-only instructions should suffice:
ELPA
(require 'package) ;; in emacs 24, or get package.el for 23
M-x package-install RET slime RET ;; OR M-x package-install RET slime-some-contrib RET M-x slime M-x slime-connect ;; .. to some server running a compatible ;; swank version
El-get:
(require el-get) ;; not in either emacs, but very popular
(el-get-install 'slime) ;; OR (el-get-install 'slime-some-contrib)
M-x slime ;; OR M-x slime-connect ;; .. to some server running a compatible ;; swank version
Clone-my-own or tgz dist:
(add-to-list 'load-path "<path-to-your-unpacked-slime>") (add-to-list 'load-path "<path-to-bundled-contribs>") (add-to-list 'load-path "<path-to-some-third-party-contrib>")
(require 'slime) ;; OR (require 'slime-autoloads) ;; ...cuts your init time
(slime-setup '(my contribs))
M-x slime ;; OR M-x slime-connect ;; .. to some server running a compatible ;; swank version
This is my plan, and Helmut seems to agree with it.
It will be made easier if we merge #83 and use ASDF as the default slime loading method, but is not impossible otherwise.
Note that "slime-some-contrib" might be a bundled contrib like slime-repl or slime-fancy, or some third-party contrib.
The quicklisp install can stay put, of course, but as soon as these options are provided, there is no need to launch a lisp, then install elisp and then ask you to change your .emacs init file. But if that's what you prefer, OK.