7 Stimmen

Emacs und Slime arbeiten bei mir nicht mehr zusammen

Ich versuche, Slime aus CVS (2009-01-05) zu verwenden, erhalte aber immer wieder diesen Fehler:

       LOAD: A file with name
      /usr/share/common-lisp/source/slime/swank-loader.lisp does not exist

Ich habe mein .emacs auf das Wesentliche reduziert:

(setq inferior-lisp-program "/usr/bin/clisp")
(add-to-list 'load-path "/home/ssm/lisp/slime/")
(require 'slime)
(slime-setup)

Ich habe mein ~/.slime-Verzeichnis gelöscht, mit 'emacs -q' gestartet und den obigen Code evaluiert, aber ich erhalte immer wieder den LOAD-Fehler, wenn ich slime starte (über M-x slime). Irgendwelche Ideen, wie ich diesen Fehler beheben kann?

FWIW, ich habe versucht, Slime über apt-get zu installieren, aber auch dort erhalte ich immer wieder Fehlermeldungen, dass cl-swank kaputt ist. Das ist eine ganz andere Geschichte.

2voto

huaiyuan Punkte 25393

Haben Sie das über apt-get installierte Slime-Paket gelöscht? Es sieht so aus, als ob emacs immer noch die alte site-spezifische Konfiguration liest, die mit apt-get eingerichtet wurde. Versuchen Sie, emacs mit der Option -Q zu starten, die das Laden von standortspezifischen (sowie benutzerspezifischen) Anpassungen verhindert, und sehen Sie, ob das Problem weiterhin auftritt.

2voto

jrockway Punkte 40754

Ich stimme mit huaiyuan überein, dass ältere Dateien möglicherweise abgeholt werden.

Versuchen Sie (load-file "/path/to/slime.el") anstelle von require . (Sie haben die .elc-Dateien aus Ihren alten Versionen entfernt, richtig? emacs lädt von .elc-Dateien vor .el-Dateien, selbst wenn die .el-Datei neuere .)

Der nächste Versuch ist M-x customize-variable slime-backend und setzen diesen auf den absoluten Pfad von swank-loader.lisp . Ich denke, das wird das Problem sicher beheben, aber ich bin mir nicht sicher, warum es zunächst nicht funktioniert.

1voto

Ani Punkte 11

Danke Leute, ~/.emacs:

(setq inferior-lisp-program "<path-to-lisp-compiler>/bin/lisp")
(setq slime-backend "<path-to-slime>/swank-loader.lisp")
(add-to-list 'load-path "<path-to-slime>/")
;;(require 'slime)
(load-file "<path-to-slime>/slime.el")
;;(slime-setup)
(slime-setup '(slime-fancy))

funktioniert :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X