Слизь не работает в emacs24
Я использую emacs24 в archlinux. Если я использую пакеты slime из marmalade.org, тогда, когда я использую M-x slime, ошибка:
debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread
#<THREAD "initial thread" RUNNING {AB007A9}>:
Couldn't load
"/home/sinners/.emacs.d/elpa/slime-20100404.1/swank-loader.lisp": file does
not exist.
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.
но если я использую пакеты slime-cvs с официального сайта, ошибка:
Debugger entered: (("Error in timer" slime-attempt-connection (#<process inferior-lisp> nil 2) (void-variable --cl-accu--)))
#[257 "\302\303\304\300\301F\"\207" [slime-attempt-connection (#<process inferior-lisp> nil 2) debug nil "Error in timer"] 7 "\n\n(fn DATA)"]((void-variable --cl-accu--))
funcall(#[257 "\302\303\304\300\301F\"\207" [slime-attempt-connection (#<process inferior-lisp> nil 2) debug nil "Error in timer"] 7 "\n\n(fn DATA)"] (void-variable --cl-accu--))
slime-timer-call(slime-attempt-connection #<process inferior-lisp> nil 2)
apply(slime-timer-call (slime-attempt-connection #<process inferior-lisp> nil 2))
byte-code("r\301\302H\303H\"\210)\301\207" [timer apply 5 6] 4)
timer-event-handler([t 20271 59188 161536 0.3 slime-timer-call (slime-attempt-connection #<process inferior-lisp> nil 2) nil])
Кто-нибудь может мне помочь?
Ответы
Ответ 1
Проблема с переменными знаков --cl-accu--
о поломке пакета emacs cl в присутствии лексического охвата. Попытайтесь перейти к slime.el
в своем распределении слизи, найдите строку
;; lexical-binding: t
в разделе ;; Local Variables:
в конце файла и измените его на ;; lexical-binding: nil
. И удалите старый slime.elc
файл, если он у вас есть.
Ответ 2
У меня была та же самая проблема, которая была решена путем удаления файла slime.elc, который я ранее скомпилировал с помощью каталога byte-recompile. Я больше не пытался его компилировать.
Ответ 3
Я не уверен, но эта проблема может быть вызвана разными версиями SLIME
и SWANK
. Однако вы должны просто использовать pacman
для установки реализации lisp (я думаю, что SBCL - самая популярная реализация в Linux) и затем используйте quicklisp
, чтобы установить все остальное.
Смотрите этот блог, чтобы узнать, как установить SWANK
и SLIME
с помощью quicklisp
.