Erstens: Es ist nicht wirklich empfehlenswert, ELPA-Verzeichnisse wie von Ihnen beschrieben manuell zu Ihrem Ladepfad hinzuzufügen. Wenn Sie diese Pakete jemals über ELPA aktualisieren, befinden sich die neuen Versionen in verschiedenen Verzeichnissen und Sie müssen diesen Teil Ihres Init-Codes erneut aufrufen, um diese Versionen stattdessen zu laden. Nach dem Prinzip, dass es am besten ist, so viel wie möglich zu automatisieren, sollten Sie den Paket-Manager explizit initialisieren, der automatisch alle installierten Pakete zum Ladepfad hinzufügt, anstatt darauf zu warten, dass er nach der Initialisierung nach der Initialisierung initialisiert wird ; Sehen Sie diese Antwort, wie das geht.
Nun, dann: Ich bin mir nicht sicher, wo ich diese Initialisierungscode-Strophe für Slime bekommen habe, aber ich bin noch nie ausgefallen:
(add-to-list 'load-path (expand-file-name "~/.emacs.d/site-lisp/slime")) (require 'slime) (add-hook 'lisp-mode-hook (lambda () (slime-mode t))) (add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t))) (setq inferior-lisp-program "sbcl") (slime-setup '(slime-fancy slime-asdf))
Das heißt, ich verwende nur SBCL und sehe, dass Sie mehrere Implementierungen verwenden. Der beste Weg, diesen Init-Code für Ihren Fall zu ändern, wäre etwa so:
(require 'slime) (add-hook 'lisp-mode-hook (lambda () (slime-mode t))) (add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t))) (setq slime-lisp-implementations `((sbcl ("/usr/bin/sbcl")) (ecl ("/usr/bin/ecl")) (clisp ("/usr/bin/clisp" "-q -I")))) (slime-setup '(slime-fancy slime-asdf hippie-expand-slime))
Da Sie den Paketmanager bereits mit meinen vorherigen Kommentaren initialisiert haben, müssen Sie dem Ladepfad nicht explizit etwas hinzufügen. da Sie mehrere Lisps verwenden, ersetzen wir sie (setq inferior-lisp-program "...")
auch.
In diesem M-x slime
Fall werden Sie SBCL aufrufen und Sie erhalten eine REPL usw., während Sie gefragt werden, M-- M-x slime
welche Lisp-Implementierung aufgerufen werden soll.