如何在spacemacs中加载本地.el和.lisp文件?

本来我想在spacemacs中用maxima界面,maxima book里面对于安装emacs界面的说明:“To install, place the .el files, as well as emaxima.lisp1 somewhere in the load path for Emacs. ” 要安装的文件有maxima.el, emaxima.el, maxima-font-lock.el,emaxima.lisp,那个lisp文件是用来输出TeX的。“


“Copy the .el and .lisp files to the site-lisp directory of your Emacs installation. On a Redhat Linux system, for example, this would be /usr/share/emacs/site-lisp, /usr/local/share/emacs/site-lisp, or some variation thereof. ”


我用的系统是macOS Sierra 10.12.1,使用GNU Emacs 25.1.1(darwin图形界面)和spacemacs0.200.5,这两个路径都存在。为了保险起见两边都复制了。然后就是写入.emacs了。 我在dotspacemacs的user-config函数里面加了如下设置


;; Associate files ending in .max with particular Emacs mode
(setq auto-mode-alist (cons ’("\\.max" . maxima-mode) auto-mode-alist))
;; Enhanced terminal mode
(autoload ’maxima "maxima" "Maxima interaction" t)
;; Maxima-mode
(autoload ’maxima-mode "maxima" "Maxima mode" t)
;; Emaxima
(autoload ’emaxima-mode "emaxima" "EMaxima" t)
;; Automatic enable EMaxima-mode
(add-hook ’emaxima-mode-hook ’emaxima-mark-file-as-emaxima)

然而重启以后发生错误:

wrong number of arguments: cons, 3

而且,并不能从M-x找到maxima


是因为spacemacs忽略了site-lisp路径吗? 还是因为其他原因? 那么,应该如何在spacemacs中加载这些文件呢?

补充一些无关的:在写dotspacemacs文件的时候,偶尔会有“wrong number of arguments: cons, 3”之类的东西混在里面,导致出现错误。是什么原因?

因为你把 Quote (') 错写成中文全角半引号()之后,Emacs 就以为 (cons ...) 将会接收到 3 个参数:

(read "(cons ’(\"\\\\.max\" . maxima-mode) auto-mode-alist)")
     => (cons ’ ("\\.max" . maxima-mode) auto-mode-alist)

而实际上 cons 只允许有 2 个参数,所以报了这个错误。

明白了。应该是从PDF复制粘贴的原因导致无法加载。