Я установил emacs как для clojure, так и для обычного lisp, но я хочу также (slime-setup '(slime-fancy)) для обычного lisp. Если я добавлю эту строку в init.el, clojure не будет работать: она дает мне repl, но она зависает после запуска любого кода.
Моя конфигурация
Для clojure:
- Я установил clojure -мод, слизь, slime-repl через ELPA
- Я запускаю $lein swank в каталоге проекта
- Затем M-x slime-connect to hack clojure
Для общего lisp я помещаю это после ELPA-кода в init.el:
(add-to-list 'load-path "~/.elisp/slime")
(require 'slime)
(add-to-list 'slime-lisp-implementations '(sbcl ("/opt/local/bin/sbcl") :coding-system utf-8-unix))
;; (slime-setup '(slime-fancy))
Итак, если я раскомментирую последнюю строку, clojure будет нарушен. Но слизь представляет собой очень важный мета-пакет для взлома общих lisp.
Есть ли способ заставить их работать как без изменения конфигурации и перезапуска, когда мне нужно переключать языки?
Update
Я обнаружил, что slime-autodoc, загруженный слизью, является причиной зависания.
(slime-setup '(slime-fancy))
(setq slime-use-autodoc-mode nil)
Эта конфигурация позволяет запускать как общие lisp, так и clojure SLIME. Даже одновременно. Но без slime-autodoc.
Я также обнаружил, что использую CVS-версию SLIME, так как я вручную делаю (добавить-к-списку "load-path" ~/.elisp/slime ") после ELPA-кода. Это не решает проблему. Может быть, есть версия с какой-то волшебной даты, которая работает с clojure? Здесь парень говорит, что для него работает версия CVS: http://www.youtube.com/watch?v=lf_xI3fZdIg&feature=player_detailpage#t=221s