2012-02-06 9 views
10

Io uso emacs24 in archlinux.If io uso i pacchetti melma da marmalade.org, poi quando io uso Mx Slime l'errore è:melma non funziona in 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. 

ma se io uso la melma -cvs pacchetti dal sito ufficiale, l'errore è:

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]) 

chiunque può aiutarmi?

risposta

2

Non sono sicuro, ma questo problema può essere dovuto a diverse versioni di SLIME e SWANK. Comunque dovresti semplicemente usare pacman per installare un'implementazione lisp (penso che SBCL sia l'implementazione più popolare su Linux) e quindi usare quicklisp per installare tutto il resto.

Vedere il post del blog this per vedere come installare SWANK e SLIME con quicklisp.

+0

ma non posso usare prima la melma, quindi non c'è modo di parlare di quicklisp – sinners

+0

SLIME e Quicklisp sono due cose totalmente diverse e indipendenti. SLIME utilizza SWANK come interfaccia tra Emacs e il processo Lisp. E Quicklisp è un gestore di librerie che usa ASDF. Puoi, e dovresti usare Quicklisp per installare tutto ciò che riguarda Common Lisp, SWANK e SLIME inclusi. Nel link che ho dato sopra, il suo autore spiega come installare SLIME e 'quicklisp-slime-helper' e come usarli con Emacs. – Daimrod

+0

sì, ho capito.Ora funziona la melma. Proverò quicklisp quando conosco qualche lisp di base. – sinners

10

Problema con --cl-accu-- segni variabili sulla rottura del pacchetto cl di emacs in presenza di scope lessicale. Prova ad andare a slime.el nella tua distribuzione di melma, trova la stringa ;; lexical-binding: t nella sezione ;; Local Variables: alla fine del file e modificarla in ;; lexical-binding: nil. E rimuovi il vecchio file slime.elc se ne hai uno.

+0

funziona dopo aver aggiunto (slime-setup '(slime-fancy)) a .emacs. – sinners

4

Ho avuto lo stesso identico problema, che è stato risolto eliminando il file slime.elc, che avevo compilato in precedenza usando la directory di ricompilamento dei byte. Non ho provato a compilarlo di nuovo.