2007年9月2日の日記の1番目の記事へのコメント
■uim.el
何気なく文字入力パッドを起動していじってたところ,問題を発見.Emacs22で,適当に文字を打ち込んだ後,undoするとカーソルが変なところに飛んじゃいます.多分Emacs22特有のアレだなーと思ってbuffer-undo-listを覗いたら,案の定変な数字が入ってました.
これ,未だに原因がわかんないんですが,buffer-undo-listを空っぽにした後にマウスで文字張り付けたりすると,↓みたいな感じに,buffer-undo-listの先頭に謎の数字が入ります.いや,どう見ても文字の位置なんですが,なんでこんな値が入るのかがよくわからずです.入らないときもあるし.マークが関係している?
(nil (nil fontified nil 254 . 255) (254 . 255) 221)
現状だと,uim.elの返してきた文字列をバッファに書き出す直前にbuffer-undo-listを退避し,一度buffer-undo-listを空にし,書き出した直後に更新されたbuffer-undo-listと元々のbuffer-undo-listをマージ(ここでついでに上記の謎の数字を除去)してるんですが,この部分はプリエディットや変換候補が表示された後じゃないと通らないようになってました.
というわけで,ここをちょこちょこ直してやったら良さそうな感じに.副作用(?)として,Anthyとかで,変換しつつ確定しないで次の文節を入力していった際に,きちんと文節単位でundoされるようになりました.な・・・何を言ってるのかわから(ry
2007年9月2日の日記の1番目の記事へのコメント
[コメントを書く]