Каждый раз, когда я пытаюсь загрузить viper-mode в Emacs24 с помощью M-x viper-mode, я получаю ошибку
Wrong type argument: symbolp, (quote 3)
Я заметил, что это происходит, когда я пытаюсь загрузить viper-mode после открытия Emacs или после того, как я выдал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)
в файл scratch и оценил его. Затем я загрузил viper-mode. Я получил 14-строчный вывод. Соответствующая часть -
Отладчик вошел--Ошибка Lisp: (неверный-тип-аргумента symbolp (цитата 3))
(setq viper-expert-level (цитата 3) (цитата 3) (цитата 3) (цитата 3) (цитата 3) (цитата 5) (цитата 3) (цитата 3) (цитата 3) (цитата 5) (цитата 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)