Viper-Modus kann in Emacs24 nicht geladen werden

1

Jedes Mal, wenn ich versuche, den Viper-Modus in Emacs24 zu laden, erhalte M-x viper-modeich eine Fehlermeldung

Wrong type argument: symbolp, (quote 3)

Ich habe beobachtet, dass es passiert, wenn ich versuche, den Viper-Modus nach dem Öffnen von Emacs zu laden oder nachdem ich ausgegeben habe M-x viper-go-away

Sobald ich diesen Fehler erhalte und denselben Befehl erneut ausführe, wird der Viper-Modus erfolgreich geladen.

Wenn ich den Toggle-Viper-Modus verwende, um ihn auszuschalten, verschwindet der Viper-Modus erfolgreich. Aber wenn ich versuche, es wieder einzuschalten toggle-viper-mode, erhalte ich den oben genannten Fehler. Ich muss viper-go-awayund dann M-x viper-modezweimal verwenden, um es wieder zum Laufen zu bringen.

Wie kann ich diesen Fehler beseitigen?

Andrew-Dufresne
quelle
1
Das kbdMarkup wird normalerweise verwendet, um (einzelne) Tastaturtasten zu kennzeichnen;)
Der Hochstapler
1
Wenn Sie möchten, können Sie den Fehler debuggen, indem Sie ihn (setq debug-on-error t)vor dem Auftreten des Fehlers auswerten. Es kann jedoch hilfreich sein, die betreffenden Funktionen zuerst in nicht kompilierter (.el) Form zu laden. Sie können dies tun, indem Sie die Quelldatei (en) besuchen und M-x eval-current-buffer RETjeweils eine eingeben .
Fran

Antworten:

0

Mit Hilfe von Fran Kommentar konnte ich das Problem lösen.

Ich habe es (setq debug-on-error t)in eine Scratch-Datei gelegt und ausgewertet. Dann habe ich den Viper-Modus geladen. Ich habe einen 14-Zeilen-Ausgang. Der relevante Teil ist

Eingegebener Debugger - Lisp-Fehler: (falsches Argument symbolp (Zitat 3))
(setq viper-expert-level (Zitat 3) (Zitat 3) (Zitat 3) (Zitat 3) (Zitat 5) (Zitat 3) (Zitat 3) (Zitat 3) (Zitat 5) (Zitat 3))
eval-buffer (# nil "/Users/andy/.viper" nil t); Lesen an Pufferposition 60
Laden mit Code-Konvertierung ("/ Users / andy / .viper" /Users/andy/.viper "nil nil) Laden (" ~ / .viper ")

Ich wusste nicht, dass eine Viper-Datei im Ausgangsverzeichnis vorhanden ist. Aus irgendeinem unbekannten Grund war es die erste Zeile

(setq viper-expert-level '3' 3 '3' 3 '3' 5 '3' 3 '3' 5 '3)
(setq viper-inhibit-startup-message' t)

Ich habe die erste Zeile bearbeitet und das Problem wurde behoben:

(setq viper-expert-level '3)

Andrew-Dufresne
quelle