2007年8月28日の日記の1番目の記事へのコメント
■uim.el
前の版からのworkaroundが1個抜け落ちてました.Emacs21をターミナルで上げて「C-u 1 0 ESC f」とか打ったときにおかしな動きをしてくれます(一応,機能するんですが,なぜか「C-u 1 0 ESC f is undefined」というメッセージが一緒に表示されます).
原因は,ターミナル上のEmacs21だと,prefix-argつきでESC-何とか を実行した場合に,なぜか2回連続でuim-process-inputが呼び出されて,どっちで this-command-keys-vector を呼んでも同じベクトルが返ってくるからだったりします (この場合,1回目と2回目の両方で [21 49 48 27 102] が返ってくる).1回目がESCまでで,2回目が「f」だけとかだったりすると有難いんですけどねぇ・・・.
というわけで,前のソースと記憶を頼りに対策を復活させてみました.1回目でそれらしきベクトルが来たら,2回目は無視するという対策.とりあえずこれで直ったのでcommit.
・・・あ,でも,これだと「C-u 1 0 ESC x」とかやったときに,最初から「M-x」の後に「x」が入った状態になっちゃうな・・・.うーん,1個目はprefix-argだけ読んで,2個目のベクトルを使って処理するとかの方がいいのかなぁ.
2007年8月28日の日記の1番目の記事へのコメント
[コメントを書く]