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

[FDclone-users:00216] Re: FDclone 2.04 has been released



 しらいです。

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

>  以下は HISTORY より今回の変更点の抜粋です。

 では変更点の解説を。


> 	内部変数 DUMBSHELL, HISTFILE の追加。

 DUMBSHELL は主に console 用に用意しました。escape sequence
が使えないことが多いですから。本当の dumb 端末でそうなるかは
試していませんが、多分大丈夫なように思います。
 HISTFILE は POSIX 対策で他意はありません。


> 	POSIX に合せて内部変数 ENV, LINENO, PPID, PS4 の追加。

 POSIX 準拠にするために色々足していますが、LINENO 以外はそ
んなに有用ではないと思います。revision up では「仕様変更」が
出来ないので、version up の際にこういう些細な変更がまとめて
やって来る訳です。


> 	端末名用内部変数 TERM の動的変更に対応。

 これは DUMBSHELL のおまけですね。TERM=dumb だったりすると
強制的に dumb 端末用の挙動を示すようになっています。しかも、
動的変更に追随して挙動を変えられるようにしてあります。


> 	カレントディレクトリ用内部変数 PWD の参照に対応。

 なんか以前 request があったと思うので実装しておきました。
詳しくは man page を読んで下さい。起動前の PWD の値が有効に
なっている筈です。未指定時は当然無視されます。


> 	文字列入力時の Tab による内部変数名補完に対応。

 「$PA」まで入力したところで Tab で補間すると「$PATH」が出
て来るというそれだけのお話です。これが「${PA」になると補間出
来ません。悪しからず。だって何で閉じたら良いのか判断不可能で
すから。


> 	一部の OS 向けに Large File Summit (2GB 超ファイル) 対応。

 Solaris, HP-UX, AIX, Linux 用ですね。実際 LFS が扱えるのか
どうかは検証し切れていません。


> 	ファイルサイズの表示桁数制限を拡張。

 表示可能なだけ表示させてみました。巨大 file で確認して下さ
い。


> 	System V 用に置換え関数を用意。

 killpid() と getdtablesize() ですね。


> 	一部 System V で子プロセス実行が出来なかった点を修正。

 test drive 様々です。


> 	GNU Emacs からの起動時に操作不能に陥っていた点を修正。

 M-X shell で fdsh を起動すると操作不能になっていました。


> 	カスタマイザの動作に一部支障があった点を修正。

 一つには、キー割当て時のコメントが全然バラバラだった点。も
う一つには、ランチャ登録で -f や -i の「追加」が出来なかった
点です。


> 	シンボリックリンクを正しく辿れない場合があった点を修正。

 相対表記の symbolic link directory を正しく fullpath に直す
ことが出来ませんでした。絶対表記なら支障なかったんですが。


> 	fdsh でのフロッピードライブ漢字コードの扱いミスを修正。

 fdsh では「cat < a:file」のように floppy drive 機能を使うこ
とが可能なんですが、この「a:file」のように directory 部分が空
の path 表記の時に日本語 filename が文字化けしていました。
 fd として起動した時には常に directory 部を追加して用いていた
ので、この bug は表面化していませんでした。


> 	一部の環境でのディレクトリ書込み不良を修正。

 具体的には ext2fs(Linux) と efs(IRIX) です。ext2fs は格納
方式が変態的なので、directory size が 4,096bytes を越えるよ
うなケースで正しく並べ換えられていなかった筈です。
 efs はもっと変態的な仕様なんですが、これはかなり昔に解析し
た結果を無理して実装してあります。今回の修正は、並べ換えた後
先頭に来る filename の長さが数文字しかなかった場合に、その一
つだけが別の位置に並べられてしまっていた点を修正したものです。

 SystemV 系の filesystem は結構複雑な構造をしており、一筋縄
ではいかないのです。例えば、同じ Solaris でも SunOS 5 以降の
SVR4 になると ufs を拡張してるので、directory size が 512 x
32 を越えると並びがおかしくなります。
 これも出来たら対処したいんですけど、BSD 系と同じ ufs で名
前では区別がつかないのと、普通はそんな馬鹿デカい size にはな
らないのとで、暫くは保留にしておいて下さい。

                                               しらい たかし