« Yash 2 その 51 | トップページ | テレビ番組等感想 その 129 »

2008年9月 8日 (月)

Yash 2 その 52

履歴機能の実装を開始。

履歴のデータは $HISTFILE 変数で指定したファイルに保存することになっているのだが、ファイルの形式は POSIX では決まっていない。Yash では bash に倣って単純にコマンドを一行づつ並べたテキスト形式を使うことにした。$HISTFILE 変数が未定義の場合は .sh_history という名前のファイルをデフォルトとして使ってもよいことになっているが、yash ではそうはしない。Ksh がデフォルトでこのファイル名を使用するようになっているのだが、ksh の履歴ファイルの形式は yash や bash とは違うので、yash が .sh_history をデフォルトとして使っても互換性がない。

Yash は $HISTFILE と $HISTSIZE のデフォルト値を与えないので、履歴を使いたい人には各自 .yashrc ファイル内に HISTFILE=$HOME/.yash_history HISTSIZE=1000 などと書いてもらうことになろう。

Bash は (というか Readline ライブラリは) 履歴データを配列で保持しているが、yash では双方向の連鎖リストを使うことにした。size_t の幅が小さい環境では大きな配列を確保できないため。

|

« Yash 2 その 51 | トップページ | テレビ番組等感想 その 129 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Yash 2 その 52:

« Yash 2 その 51 | トップページ | テレビ番組等感想 その 129 »