Ich fing an, einen Nebenmodus zu programmieren, um einige Tastenkombinationen bereitzustellen. Mein erster Versuch hatte einen Tippfehler:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(([b] . 'previous-line)))
Ich hatte die Absicht , die verwenden b
Schlüssel, und sofort erkennen , dass ich verwendet habe , sollte "b"
statt [b]
. Also habe ich den Nebenmodus neu definiert:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(("b" . 'previous-line)))
Dies hat jedoch nicht funktioniert. Dies brachte mich auf eine wilde Gänsejagd durch die verschiedenen Arten des Bindens von Schlüsseln (dh (kbd ...), [...] usw.). Schließlich wurde mir klar, dass eine einfache Neubewertung des (define-minor-mode ...)
Formulars nichts an der ursprünglichen, kaputten Tastaturbelegung ändern würde. Ich habe dann versucht, die Tastaturbelegung direkt über zu ändern (define-key borked-mode-map ...)
und konnte die korrigierte Tastaturbelegung immer noch nicht laden. Schließlich habe ich Emacs neu gestartet und mein Nebenmodus wurde korrekt geladen.
Meine Frage ist: Wie aktualisieren Sie eine Nebenmodusdefinition, während Sie sie entwickeln? Gibt es eine Möglichkeit, eine defekte Definition zu löschen, oder müssen Sie Emacs neu starten, um defekte Bits zu löschen?
defvar
wird den Wert nachC-M-x
:) nicht mehr auswerten. Benötigen Siedefparameter
oder eine separatesetf
.