每次我尝试使用 Emacs24 加载 viper-mode 时M-x viper-mode,都会出现错误
Wrong type argument: symbolp, (quote 3)
我观察到,当我尝试在打开 Emacs 后加载 viper-mode 时,或者在我发出M-x viper-go-away
因此,一旦我收到此错误并再次运行相同的命令,viper-mode 就会成功加载。
当我使用 toggle-viper-mode 关闭它时,viper-mode 成功消失。但是当我尝试toggle-viper-mode
再次使用它将其重新打开时,我得到了上述错误。我必须使用viper-go-away
然后M-x viper-mode两次才能让它恢复工作。
我怎样才能消除这个错误?
答案1
在...的帮助下弗兰评论,我能够解决这个问题。
我将其放入(setq debug-on-error t)
暂存文件中并对其进行了评估。然后我加载了 viper-mode。我得到了 14 行输出。相关部分是
调试器进入--Lisp 错误:(错误类型参数符号 p(引用 3))
(setq viper-expert-level(引用 3)(引用 3)(引用 3)(引用 3)(引用 3)(引用 3)(引用 5)(引用 3)(引用 3)(引用 3)(引用 3)(引用 5)(引用 3)(引用 3)(引用 3))
eval-buffer(# nil "/Users/andy/.viper" nil t) ; 在缓冲区位置 60 读取
load-with-code-conversion("/Users/andy/.viper" "/Users/andy/.viper" nil nil) load("~/.viper")
我不知道主目录中有一个 .viper 文件。不知什么原因,它的第一行是
(setq viper-expert-level '3 '3 '3 '3 '3 '5 '3 '3 '3 '5 '3)
(setq viper-inhibit-startup-message 't)
我编辑了第一行,问题就解决了:
(setq viper-expert-level'3)