如果我执行M-x load-file RET /root/.elisp/perl-mode.el RET
,则此perl-mode.el会正确加载。
如果我在.emacs
添加其中任何一项,那么它就无法运作
(load "/root/.elisp/perl-mode.el")
(load-file "/root/.elisp/perl-mode.el")
我正在使用emacs 24.1.1。
我得到的错误是
File mode specification error: (void-function setq-local)
问题
从perl-mode.el
加载.emacs
的正确方法是什么?
答案 0 :(得分:3)
宏setq-local
是在Emacs 24.3中引入的,因此perl-mode
的这个版本对于您当前正在运行的Emacs来说太新了(24.1)。
您可以升级Emacs,或者只需将setq-local
的定义放入.emacs
(来自here):
(defmacro setq-local (var val)
"Set variable VAR to value VAL in current buffer."
;; Can't use backquote here, it's too early in the bootstrap.
(list 'set (list 'make-local-variable (list 'quote var)) val))