在 Emacs 的 SLIME REPL 上重新安装 quicklisp。
问题是 Emacs Slime (REPL) 既不知道是否安装了 quicklisp 也不知道它的安装位置。解决问题所需要做的就是在 Emacs 的 slime repl 上重新安装 quicklisp。(“quicklisp.lisp”文件应该在 SLIME REPL 的当前工作文件夹中。)
M-x slime
CL-USER> (load "quicklisp.lisp")
CL-USER> (quicklisp-quickstart:install)
CL-USER> (ql:add-to-init-file)
CL-USER> (ql:quickload "quicklisp-slime-helper")
例如)我的“~/.emacs”文件:
(use-package slime
:ensure t
:defer t
:init
(setq inferior-lisp-program "clisp")
:config
(slime-setup '(slime-fancy slime-company))
:hook
(slime-mode . slime-company)
(slime-mode . (lambda ()
(load (expand-file-name "D:/util/emacs27/quicklisp/slime-helper.el"))
(add-to-list 'slime-contribs 'slime-fancy)
(add-to-list 'slime-contribs 'inferior-slime))))
(use-package slime-company
:after slime
:bind-keymap
("C-n" . company-select-next)
("C-p" . company-select-previous)
("C-d" . company-show-doc-buffer)
("M-." . company-show-location)
:config (setq slime-company-completion 'fuzzy
slime-company-after-completion 'slime-company-just-one-space))
然后,quicklisp 将被重新安装在 Emacs 的 HOME 目录(“~/”)中。现在,您已经在 (a) Windows 10 的 HOME 和 (a) Emacs 的 HOME 中安装了相同的 quicklisp。如果你只在 Emacs 的 Slime REPL 中使用 quicklisp,那么 Windows 10 的 HOME 中的副本是没有用的,你可以删除它。