Comencé a codificar un modo menor para proporcionar algunas combinaciones de teclas. Mi intento inicial tuvo un error tipográfico:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(([b] . 'previous-line)))
Tenía la intención de usar la bllave e inmediatamente me di cuenta de que debería haberlo usado en "b"lugar de hacerlo [b]. Así que redefiní el modo menor:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(("b" . 'previous-line)))
Sin embargo, esto no funcionó. Esto me puso en una persecución salvaje a través de todas las diversas formas de vincular teclas (es decir, (kbd ...), [...], etc.). Finalmente me di cuenta de que simplemente reevaluar el (define-minor-mode ...)formulario no estaba cambiando nada, me quedé atrapado con el mapa de teclas roto original. Luego intenté cambiar el mapa de teclas directamente a través de (define-key borked-mode-map ...)y todavía no pude cargar el mapa de teclas corregido. Finalmente reinicié Emacs, y mi modo menor se cargó correctamente.
Mi pregunta es: ¿cómo actualiza una definición de modo menor a medida que la desarrolla? ¿Hay alguna forma de vaciar una definición rota, o tienes que reiniciar emacs para borrar los bits rotos?
defvarno evaluará su valor nuevamente después deC-M-x:) Necesitaríasdefparametero por separadosetf.