2012-02-06 84 views
10

我用emacs24在archlinux.If我用泥包從marmalade.org,然後當我使用MX煤泥的錯誤是工作:泥不emacs24

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. 

,但如果我用煤泥-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]) 

任何人都可以幫我嗎?

回答

2

我不確定,但是這個問題可能是由於不同版本的SLIMESWANK。但是,您應該只使用pacman來安裝lisp實現(我認爲SBCL是Linux上最流行的實現),然後使用quicklisp來安裝其他所有內容。

請參閱this博客文章,瞭解如何安裝SWANKSLIME以及quicklisp

+0

但我不能先使用粘液,所以有辦法談論quicklisp – sinners 2012-02-06 16:04:10

+0

SLIME和Quicklisp是完全不同和獨立的兩件事情。 SLIME使用SWANK作爲Emacs和Lisp進程之間的接口。而Quicklisp是一個使用ASDF的圖書館經理。您可以,並且您應該使用Quicklisp來安裝與Common Lisp,SWANK和SLIME相關的所有內容。在上面給出的鏈接中,它的作者解釋瞭如何安裝SLIME和'quicklisp-slime-helper'以及如何在Emacs中使用它們。 – Daimrod 2012-02-06 16:51:00

+0

是的,我明白了。現在煤泥工作。我會嘗試quicklisp,當我知道一些基本的lisp。 – sinners 2012-02-07 03:06:44

10

問題--cl-accu--在詞彙範圍界定的情況下,有關emacs cl包破壞的變量符號。嘗試在您的粘液分佈中轉至slime.el,在文件末尾的;; Local Variables:部分找到字符串 ;; lexical-binding: t,並將其更改爲;; lexical-binding: nil。如果有的話,刪除舊的slime.elc文件。

+0

這個工程後我添加(slime-setup'(slime-fancy))到.emacs。 – sinners 2012-02-07 03:05:10

4

我有完全相同的問題,這是通過刪除我以前使用byte-recompile-directory編譯的slime.elc文件解決的。我沒有嘗試再次編譯它。