uim-el 0.0.5 キタ━…

いやいやいや、"ttp は有効な InterWikiName ではありません" てアンタ…
;; 条件反射ってやつかw
編集は block されてるので、0.0.4 の URL を編集してだうそ。
うむ、快適。

C-u

uim-mode 時に C-u すると、4 の代わりに (4) が送られてくる。uim.el 見てみたけど、よくわからんかった。やる気起きん…
でもそれだけだとアレなので、ちょっとだけ調査してみた。FSF Emacs しか調査する気無し。C-h k C-u (本当は違うのに map してるけど) から辿ってみると、simple.el にそれらしいのがあった。
C-u C-u a と押したとする。Key code は C-u == 21, a == 97。
最初の C-u が押されると、overriding-terminal-local-map という map が universal-argument-map に設定される。この map では、数字 key とか C-u を prefix 操作に map してあって、それ以外の key は universal-argument-other-key という関数に map してある。a の時点で other-key が呼ばれる。
この関数は prefix arg を (16) みたいに list で包んだ形で受け取る。これを prefix-arg という変数に設定し、unread-command-events から prefix arg に関わる部分を削除する。そして overriding-terminal-local-map を無効化。
この後の動作は追ってないけど、ともかくどこかの段階で変数 prefix-arg に放りこんであるものに car をかけて prefix argument を取得するらしい。そのあと、 unread-command-events がよくわからん順序で実行される。
問題は uim.el が uim-get-binding (だっけ?) で key-binding 関数で通常の binding を取得しようとしてるのが、overriding-terminal-local-map を認識しないか、なんかその辺。あと調べるのめんどくさい。

…とか書いてるうちに反応があった。もうすぐ直るらしい。