いくつかのキーバインドを提供するために、マイナーモードのコーディングを開始しました。私の最初の試みにはタイプミスがありました:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(([b] . 'previous-line)))
bキーを使用するつもりでしたが、すぐにの"b"代わりに使用する必要があることに気付きました[b]。そこで、マイナーモードを再定義しました。
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(("b" . 'previous-line)))
ただし、これは機能しませんでした。これにより、キーをバインドするさまざまな方法(つまり、(kbd ...)、[...]など)を使った野生のガチョウの追跡が始まりました。最後に、(define-minor-mode ...)フォームを再評価するだけでは何も変わらず、元の壊れたキーマップに固執していることに気付きました。その後、キーマップを直接経由して変更しようとしましたが(define-key borked-mode-map ...)、まだ修正されたキーマップをロードできませんでした。最後にEmacsを再起動し、マイナーモードが正しくロードされました。
私の質問は、マイナーモード定義を開発する際にどのように更新しますか?壊れた定義をフラッシュする方法はありますか、または壊れたビットを取り除くためにemacsを再起動する必要がありますか?
defvar後に再度の価値を評価しませんC-M-x:)あなたは、必要があると思いますdefparameterか、別setf。