- 【GNU】Emacs Lisp 【Elisp】
159 :デフォルトの名無しさん[sage]:2015/01/13(火) 10:50:02.39 ID:NDLkVK0s - マイナーモードの作成について、こちらが意図しないアクション (とくに keyboard-quit) をされたら、そのマイナーモードを抜けるようにしたいんだけど、どうすればいいですか?
できれば pre-command-hook や post-command-hook は使いたくないです。
|
- 【GNU】Emacs Lisp 【Elisp】
161 :デフォルトの名無しさん[sage]:2015/01/13(火) 16:45:00.86 ID:NDLkVK0s - >>160
コメントありがとうございます。 ご提示いただいたソースを読みたいと思います。 ちなみに、 (add-hook ’post-command-hook ’(lambda () (when hoge-mode (hoge-mode -1)))) のような処理を意図しております。
|
- 【GNU】Emacs Lisp 【Elisp】
163 :デフォルトの名無しさん[sage]:2015/01/13(火) 17:45:35.15 ID:NDLkVK0s - >>162
ありがとうございます。 minor-mode を使うなら、あまり選択肢がないのですね。 > minor-mode を使わない なるほど!なんとなく、とりあえずでマイナーモードを利用していたのですが、使わないという発想も大事なのですね。
|
- 【GNU】Emacs Lisp 【Elisp】
165 :デフォルトの名無しさん[sage]:2015/01/13(火) 19:16:25.85 ID:NDLkVK0s - はい、ありがとうございます。
自分用に ace-jump を拡張してます。 勉強のため、通常の ace-jump 部分も最初から作っております。 今回は、hoge-jump というマイナーモードを定義しておりました。 マイナーモードという形を選択した理由は、なんとなくなのですが、他に、マイナーモードを抜ける時点に hook をかけたいという理由があります。 具体的には、hoge-jump によってバッファに付加したオーバーレイを、hoge-jump の去り際にリムーブしております。 (ただ、本家の ace-jump もマイナーモードを使ってないのですね。 本家のほうをもっと検討したいと思います)。
|