Я новичок как в Clojure, так и в emacs, и я пытался настроить SLIME для Clojure. Официальная документация неявно предполагает, что вы знаете, что делаете с emacs. Это не просто набор кода, который вы можете вставить в свои файлы конфигурации. Поскольку меня интересует Clojure для анализа данных , я действительно не хочу иметь дело с Leiningen, если это вообще возможно, но мне нужна динамическая среда, которую предоставляет slime.
Я установил Clojure из git в / opt / clojure /
и clojure-contrib в / opt / clojure-contrib
и могу получить ответ. Я установил swank-clojure, clojure-mode и slime из github в `~ / .bin, следуя этому руководству . Я изменил кое-что, когда это не работало, добавив кое-что из раздела комментариев официальной документации.
Когда я запускаю слизь с Mx slime
, я получаю непрерывный опрос "/tmp/slime.14113" .. (Прервать с помощью 'Mx slime-abort-connection'.)
.
Вот мой init-clj.el :
;; clojure-mode
(add-to-list 'load-path "~/.bin/clojure-mode")
;; swank-clojure
(add-to-list 'load-path "~/.bin/swank-clojure")
(setq swank-clojure-jar-path "/opt/clojure/clojure.jar"
swank-clojure-extra-classpaths (list
"~/.bin/swank-clojure/src/swank"
"/opt/clojure/clojure-contrib/target/clojure-contrib-1.2.0-SNAPSHOT.jar"))
(require 'swank-clojure)
;; slime
(eval-after-load "slime"
'(progn (slime-setup '(slime-repl))))
(add-to-list 'load-path "~/.bin/slime")
(require 'slime)
(eval-after-load 'slime '(setq slime-protocol-version 'ignore))
(slime-setup '(slime-repl))
(require 'clojure-mode)
(require 'clojure-test-mode)
Вот ошибка, которую я получаю, когда вызываю его, когда ants.clj открыт:
(progn (load "/home/kca/.bin/slime/swank-loader.lisp" :verbose t) (funcall (read- from-string "swank-loader:init")) (funcall (read-from-string "swank:start-server") "/tmp/slime.14113" :coding-system "iso-latin-1-unix"))
Clojure 1.2.0-master-SNAPSHOT
user=> java.lang.Exception: Unable to resolve symbol: progn in this context (NO_SOURCE_FILE:1)
Я создал сценарий в .bin /
под названием clj-repl, который содержит команду java для запуска реплики. Затем я устанавливаю переменную M-x inferior-lisp-program /home/wdkrnls/.bin/clj-repl. Emacs жалуется на неправильный тип.