Ho iniziato a scrivere una modalità minore per fornire alcune combinazioni di tasti. Il mio tentativo iniziale aveva un refuso:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(([b] . 'previous-line)))
Avevo intenzione di usare la b
chiave e mi sono subito reso conto che avrei dovuto usare "b"
invece di [b]
. Quindi ho ridefinito la modalità minore:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(("b" . 'previous-line)))
Tuttavia, questo non ha funzionato. Questo mi ha dato la caccia a un'oca selvatica attraverso tutti i vari modi di legare le chiavi (cioè, (kbd ...), [...], ecc.). Alla fine mi sono reso conto che semplicemente rivalutare il (define-minor-mode ...)
modulo non stava cambiando nulla, ero bloccato con la mappa chiave originale rotta. Ho quindi provato a cambiare la keymap direttamente tramite (define-key borked-mode-map ...)
e ancora non riuscivo a caricare la keymap corretta caricata. Alla fine ho riavviato Emacs e la mia modalità minore è stata caricata correttamente.
La mia domanda è: come si aggiorna una definizione della modalità minore mentre la si sviluppa? Esiste un modo per cancellare una definizione rotta o è necessario riavviare emacs per eliminare i bit rotti?
defvar
non valuterà più il suo valore dopoC-M-x
:) Ne avresti bisognodefparameter
o uno separatosetf
.