KND の備忘録

2007-04-29のメモです。

主に関ジン研(関東ジンギス研究会)からのリンクのためと、食べ歩きの際に前回いつ行ったかを自分で検索するために記述を残しています。稀に雑多なことを書いたりもします。


LIRS: 更新の確認にご利用下さい。
カテゴリ: EmacsLisp | Ruby | tDiary | そよかぜ | たべある記 | 羊肉 | 自作ソフト | 花配列 | 超多段シフト | 辛いもの | 雑記 |

2007-04-29 (Sun)

[自作ソフト][EmacsLisp][超多段シフト][そよかぜ] 着手から丁度 3 年が経ちました

ここ半年の間の変更点は以下の通りです。

  1. C-x 5 2 で複数フレームを作成した状態で、あるフレームで未確定文字列が存在するときに別のフレームで C-g を入力すると未確定文字列が存在したままでかな入力に支障が出てしまう状態になっていたので、すり替え用の lookup-key 関数で #'ignore を返すところを #'quail-soyokaze-break を返すように修正した。
  2. 全角空白を入力した直後に全角アルファベット変換や半角アルファベット変換を使用すると全角空白が余分に出力されていたのを修正した。

一つ目はかなり初期からあった Meadow 1.15 で起こるバグ、しかもこれをやってしまうと入力動作としては致命的な状態になる大きなバグでした。ただ、別のフレームで各種変換をしても未確定文字列が存在するフレームで想定通りに動くのに、C-g だけは Meadow の別フレームで入力するとおかしくなってしまうため、少し試行錯誤が必要でした。結局、quail-soyokaze-conversion-keys に含まれる ([t] . ignore) の設定では捕捉することの出来ないキーイベント(マウス操作とか)の段階で未確定文字列の入力を中断させることにしました。

二つ目は全角空白を入力したときに quail-soyokaze-self-insert-with-check 関数で未確定文字列の情報を消していなかったのが原因で、この関数内の quail-no-conversion 関数を quail-soyokaze-no-conversion 関数に変更して対処しました。これまでまともに全角空白を使っていなかったために発見が遅れてしまったようです。

この半年は思うように時間がとれなくて動作検証とドキュメント執筆が進まなかったような。ふとしたきっかけで見つかったバグを修正しただけ。



最近のツッコミ:


KND への連絡は以下まで。
m・knd◎zob・jp (「◎」を「@」、「・」を「.」に置換え)