Clojure 및 Common Lisp와 함께 작동하도록 SLIME을 설정하는 데 어려움을 겪고 있습니다. 대부분의 Clojure 개발자는 Clojure 호환성을 위해 고정 된 ELPA를 통해 제공되는 스트립 된 SLIME을 사용하는 경향이 있습니다. 그러나 Common Lisp 해킹을 많이 수행하며 일반적으로 SLIME CVS 버전 (QuickLisp을 통해 획득)을 사용합니다.Common Lisp 및 Clojure 개발을위한 SLIME 설정
Clojure의 구현에 대한 몇 가지 잘 알려진 문제점이 있습니다. autodoc (SLIME가 작동 가능한 경우)이 작동하지 않으며 퍼지 완료 등과 같은 일부 기능을 지원하지 않습니다. question은 그 대답은 나에게 아무런 의미가 없다고 제안했던 것과 같은 주제입니다.
(add-hook 'slime-connected-hook
(lambda()
(if (string= (slime-lisp-implementation-type) "Clojure")
(setq slime-use-autodoc-mode nil)
(setq slime-use-autodoc-mode t))
))
(add-hook 'slime-mode-hook
(lambda()
(if (eq major-mode 'clojure-mode)
(slime-autodoc-mode 0)
(slime-autodoc-mode 1))))
(add-hook 'slime-repl-mode-hook
(lambda()
(if (string= (slime-lisp-implementation-type) "Clojure")
(progn (setq slime-use-autodoc-mode nil)
(slime-autodoc-mode 0))
(progn (setq slime-use-autodoc-mode t)
(slime-autodoc-mode 1)))))
해결책은 용지에서 잘 보이지만 나를 위해 slime-lisp-implementation-type은 항상 nil입니다. (slime-lisp-implementation-type과 동일 : 로컬 연결로 connlocal).
기본적으로 필요한 것은 문제가되는 설정을 수정할 수 있도록 Clojure의 스웽크를 사용하여 실 타임을 실행하는 것입니다.
어떤 OS가 당신을에 있습니까? 나는 맥 오에스 텐에서 작동하고있다. (아마 리눅스에서도 가능할 것이다.) http://spacemanaki.posterous.com/setting-up-emacs-for-lisp-hacking-on-os-x- pt-0 및이 질문에 답변했습니다. http://stackoverflow.com/questions/4551283/what-is-wrong-with-my-emacs-slime-setup-compile-and-load-eval-not-working/4555421#4555421 내가 작동하도록 할 수있는 유일한 방법은 최신 CVS SLIME과 ELPA SLIME을 모두 가지고 Common Lisp 또는 Clojure에서 작업하는지 여부에 따라 적절한 방법을로드하는 것입니다. – spacemanaki
리눅스를 사용하고 있습니다. 나는 당신이 제안한 해결책을 알고 있지만, 나는 그것을 좋아하지 않는다. 나는 CVS SLIME을 항상 사용하고 싶다. 나는 clojure 연결을 만들기 전에 필요한 것을 토글하는 간단한 함수를 가질 수 있지만, 나는 slime의 시작에 자동으로 그러한 설정을 연결하는 방법을 찾고 싶습니다. –
나는 그것도 좋아하지 않지만 그것이 효과가있다. 나는 누군가가 더 나은 것을 제안하는지보기 위해이 실을 계속 주시 할 것입니다. 지금은이 야크를 면도했습니다. – spacemanaki