[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00529] Re: FDclone 2.08d has been released



 しらいです。

In Message-Id <20060613113435.D9A6C40C128@yuka.unixusers.net>
        Takashi SHIRAI <shirai@unixusers.net>writes:
>  しらいです。

>  本日 fj.sources に FDclone 2.08d の patch を投稿しましたの
> でご案内申上げます。full package は以下の URL で順次公開され
> ていくと思います。

 今回の bugfix は 2.09 への伏線だと思って下さい。変更内容に
対して無駄に変更箇所が多いのはそのせい。


> 	疑似端末のコマンドラインから日本語入力できなかった点を修正。

 厳密には、PTYINKCODE を指定しなかった場合の症状です。未指
定時は「変換しない」という値になっている筈なのですが、入力漢
字コードを判断する際にそれを「変換しない」という漢字コードと
して扱ってしまっていました。


> 	コマンドラインから仮名入力できなかった点を修正。

 これは半角仮名のことですね。他に Alt を併用したキー入力も
弾かれていました。
 この手の特殊キーは内部コードとして 0x200 以上の値を割振っ
てあったのですが、0x1ff との論理積をとってしまっていたので違
うキーとして扱われていました。
 0x3ff との論理積に改めました。


> 	履歴インクリメンタルサーチ時の表示がおかしかった点を修正。

 コマンドラインで Ctrl-S とか Ctrl-R とか入力するとコマンド
履歴の incremental search が出来ます。
 この時、入力文字列にマッチした部分を反転表示して判り易くし
ているのですが、2.08b での embug により反転部分が期待どおり
になっておらず、どこがマッチしているのか判らなくなっていまし
た。
 現在のカーソル位置を各々の関数内でその都度カウントしていた
のを無駄に思って大域変数に格納するような対応を 2.08b で行な
ったのですが、それが仇となっていたようです。


> 	NFS 上の履歴セーブファイルがデッドロックに陥る点を修正。

 [FDclone-users:00492] で指摘された点を 2.08c で fix した筈
だったのですが、その対応では不十分なケースがあるようです。
 fcntl lock に必ず失敗する NFS 環境だと問題ないのですが、む
しろ lock に対応した NFS の場合、ユーザ数上限とか色々な制限
により lock に失敗しないで deadlock に陥ることがあるようです。
 仕方ないので、MHpopd での実装と同様に、先に NFS かどうかを
確認してから lock するようにしました。NFS だったら lock しま
せん。


 あと、HISTORY に挙げてない変更点を幾つか。

 疑似端末を閉じた時にフリーズしてしまうことがたまにあるよう
です。タイミングの問題なので再現性が難しいのですが、一応対応
したつもりです。
 けれども根治したかどうか怪しいので HISTORY では触れていま
せん。2.08d でも再現するようなら報告下さい。

 あとこれも疑似端末関連なんですが、疑似端末メニューを使用し
た際に画面レイアウトが結構見づらいので修正しました。メニュー
を呼ぶ前の状態を奇麗に復元出来ないことがあったもので。
 気にならない人には気にならないレベルの話なので、HISTORY に
は入れませんでした。

 更に疑似端末関連で、疑似端末利用時に EUC-JP 環境では半角仮
名が文字化けを起こしてしまっていました。これは EUC-JP では半
角仮名表現が表示幅と異なるバイト数になるためで、文字列長と表
示幅とを独立して扱うことで解決しています。
 半角仮名を扱うことが稀な上に疑似端末上でのみ生じる現象なの
で、HISTORY では割愛させて頂きました。

 ま、この辺りを読むと 1.09 でどの辺に変更を加えようとしてい
るのがバレちゃうと思いますが、HISTORY の記述では、それを隠蔽
する意味で疑似端末周りの変更点は省略しちゃったという事情もあ
ります :-)

                                               しらい たかし