5th
Debian, Emacs (from CVS) and SLIME
Дозрел я до того, что собрался попробовать Common Lisp. Чему нас учит хорошая книга? Тому, что SLIME это хорошо! А так как Emacs я уже поставил (версия 23.0.60.1 из CVS) я уже соборал, то пришло время SBCL и самого SLIME. Я пологал, что “aptitude install slime” это всё что нужно, чтобы “M-x slime” заработало, однако не тут то было! Установленный при этом SBCL не мог загрузить Swank (я вообще не знал что таковой есть и нужен) а без Swank не работал и SLIME.
Гугление ничего спасительного не давало.. Но помог мануал к SLIME, а точнее “Совет для ползователей SBCL” (код изменён мною)
shell$ sbcl
* (mapc 'require '(sb-bsd-sockets sb-posix sb-introspect sb-cltl2 asdf))
* (load "/usr/share/common-lisp/source/slime/swank-loader.lisp")
* (save-lisp-and-die "sbcl.core-for-slime")
И в .emacs
(setq slime-lisp-implementations
'((sbcl ("sbcl" "--core" "sbcl.core-for-slime"))))
Но этого оказалось мало! SBCL радовал сообщением что мол “package “SWANK” not found”. Ясное дело, я что-то делаю не так, но выход был найден при помощи:
shell$ sbcl --core sbcl.core-for-slime
* (require 'swank)
* (save-lisp-and-die "sbcl.core-for-swank")
И соотетсвенно:
(setq slime-lisp-implementations
'((sbcl ("sbcl" "--core" "sbcl.core-for-swank")
:init (lambda (port-file _)
(format "(swank:start-server %S)\n" port-file)))))
решение не сильно красивое и файл sbcl.core-for-swank довольно увесистый, но, SLIME REPL я получил. Уже неплохо.