2007年10月18日の日記を表示中
2007年10月18日 (木)
■uim.el
バグ発見! Emacs22で,「C-x C-g」と打つと,その直後に叩いたキーが「C-x」の続きとして処理されてしまうことがあるみたいです.たとえば,「C-c」を打とうと思って間違えて「C-x」を叩いてしまい,慌てて「C-g」を叩いてキャンセルして,あらためて「C-c」を叩くと,なんと「C-x C-c」として処理されてしまいEmacsが終了してしまうみたいな.
まず出るときと出ないときの違いを探るために何度かやってみたところ,素早く「C-x C-g」と打ったときに発生して,「C-x」を叩いた後,しばらく(エコー領域に「C-x-」と出るまで)待ってから「C-g」を押したときには発生しないことがわかりました.ということは,sit-for があやしい.
試しにsit-for 呼んでるところで inhibit-quit を t にしてやったら問題は出なくなりました.うーん,むしろ uim-process-input の最初から最後まで inhibit-quit を t にしっぱなしでいいような気も.・・・と思ったけどこれだと navi2chの書き込みキャンセル時の y/n の選択で C-g 押しても中断できなくなるなどの不具合があったのでやっぱよくないっすね.いつ keyboard-quit が呼ばれても安全に抜けられるように作るべきだな.何を今更言っているのだという感じですが・・・.
■玄箱
やっぱファンがどうにもうるさいので,ファン交換するまで普段は止めとくことにしました.一応 Webサーバが上がってて,外から微妙にアクセスがあったりもしたんですが,まあ要望が出るまで気にしない方向でw.アレやコレやが完成したら,また稼働して頂きましょう.
[コメントを書く]
2007年10月18日の日記を表示中
[コメントを書く]