2006年1月1日の日記の2番目の記事へのコメント

uim.el

自分ところのWikiに「uim.elをONにしているとdelete-selection-modeが動かない」というのがあったんで見てみました.なるほど確かに動きません.

delete-selection-modeは,中で pre-command-hook を使っていて,コマンドが処理される前にthis-command変数を読んでコマンドの種類を確かめて,それが backward-delete-char-untabify とかだったら選択領域を消すようにするとかやってるっぽいです.で,uim.elが有効になっていると,pre-command-hookの時点ではthis-command変数が常に uim-process-input になるんで,delete-selection-modeのpre-command-hookが反応してくれません.そんなわけで,動かん,と.

動かすためには uimがキーを処理せずにEmacs側に返してきて,Emacsがキーに対応した本来のコマンドを実行する直前にごにょごにょしてやる必要がありそうです.すなわち,this-command をこれから処理するコマンドで上書きした後で, command-execute とか call-interactively とかでそれを処理する前のタイミングで pre-command-hook を run-hooks すりゃいいわけです.というわけで,これやって動くようにはなったんですが,これにより単独のキー押下で2回 pre-command-hook が呼ばれることになるので大変恐いです.どうなんでしょね.

[コメントを書く]

nosuke 2006/01/03(火) 03:35:43
ていうか機能ごとの差分まだ用意できてないし(;´Д`)
悪い開発の見本みたいな感じだなぁ・・・

お名前:  メールアドレス(省略可):
メールアドレスも表示されます
ここに名前その他を書いてはいけません: ここにメールアドレスその他を書いてはいけません:

2006年1月1日の日記の2番目の記事へのコメント

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2006年1月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ