Saya mulai mengkode mode minor untuk memberikan beberapa keybindings. Upaya awal saya salah ketik:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(([b] . 'previous-line)))
Saya berniat untuk menggunakan b
kunci, dan segera menyadari bahwa saya harus menggunakan "b"
bukan [b]
. Jadi saya mendefinisikan kembali mode minor:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(("b" . 'previous-line)))
Namun, ini tidak berhasil. Ini membuat saya mengejar angsa liar melalui semua berbagai cara mengikat kunci (yaitu, (kbd ...), [...], dll). Akhirnya saya menyadari bahwa hanya mengevaluasi ulang (define-minor-mode ...)
formulir itu tidak mengubah apa pun, saya terjebak dengan peta kunci yang asli dan rusak. Saya kemudian mencoba mengubah keymap secara langsung melalui (define-key borked-mode-map ...)
dan masih tidak bisa mendapatkan keymap yang diperbaiki. Akhirnya saya me-restart Emacs, dan mode minor saya dimuat dengan benar.
Pertanyaan saya adalah: bagaimana Anda memperbarui definisi mode minor saat Anda mengembangkannya? Apakah ada cara untuk menghapus definisi yang rusak, atau Anda harus me-restart emacs untuk membersihkan bit yang rusak?
defvar
tidak akan mengevaluasi nilainya lagi setelahC-M-x
:) Anda perludefparameter
atau terpisahsetf
.