2007年9月22日の日記の1番目の記事へのコメント
■uim.el
1.4.1をクリーンインストールして,何が変わったか確認してみたところ,ここ最近潰したバグの殆どが1.4.1では存在しないバグであったという驚愕の事実が発覚.この機能は1.4.1ではちゃんと動かなかったんだぜ・・・と思ってたものの多くは,実はこれでC-xとかを完全に自前で処理するようになったところで使えなくなってしまったっぽい.ふ,不覚・・・orz.
というわけで,あんなにこねくりまわしたのに,ユーザから見た 1.4.1 からの進化点は多分これだけ・・・(´・ω・`)
-
event-apply-*-modifier 系の処理に対応
(define-key function-key-map [Scroll_Lock] 'event-apply-control-modifier)
とかすれば Scroll_Lock を使った2ストロークの Ctrlの入力が可能になるので,tkngさんの左手の小指も安心だ! - delete-selection-modeに対応
- とりあえずEmacs-23.xでも起動するようにしてみた
- XEmacs でも C-x C-h が効くようになった
- XEmcas で,shifted-motion-keys-select-region (シフト+矢印で領域を選択する機能) が利用可能になった
- function-key-mapの扱い方が間違っていたのを修正
(define-key global-map [M-return] `move-beginning-of-line) (define-key global-map [134217741] `move-end-of-line)
とかしたときに,uim.elがONだと M-return でカーソルが行末に行ってしまう問題が無くなったけど,そんなマニアックなことをする人がいるとは思えない. - Emacs22で,uim-input-pad-jaで文字を入力した際の,undo後のカーソル位置がおかしくなるバグを修正
ちなみに,上記を抽出している際に,またバグを1個見つけてしまいました_|‾|○.Emacs21で「C-x 8 ~ a」とやるとエラーになります.日本語環境だと「C-x 8 ~ a」と打った時点で次の文字の入力を促す状態になって,たとえば「x」と入れると「笘」とか入力されたりするんですが(こんな機能誰が使うんだろうって感じですが),「(command-execute [24 56 126 97]) とかやると,中で呼ばれるkeyboard.cのread_charなる関数が,キーボードマクロの中で呼び出されてると認識して,キーを読み取らずに -1 を返してしまうためおかしなことににに.
これ,C-xをuimが奪わない 1.4.1 だとちゃんと動くんですよね orz.あとEmacs20ではEmacs22と同じように,普通に「ã」が入力されます.Emacs21が次の1文字を要求するとかするから発生する問題か・・・
対策ですが,今のところ 「(define-key uim-mode-map [24] nil)」 として,再びC-xをuim.elが奪うようにするくらいしか思いつきません・・・.どうしたものか.
2007年9月22日の日記の1番目の記事へのコメント
[コメントを書く]