本を読む

読書やコンピュータなどに関するメモ

bash 4.0:CHANGESの試訳

 bash 4.0のソースに含まれるCHANGESファイルを試訳してみました。bash-4.0-alphaからbash-4.0-releaseまでの分です。

 意味がわからず訳を当てた部分もあれば、これは違うんじゃないかと思う部分もありますので、あくまでご参考程度に。


この文書は本バージョンbash-4.0-releaseと前バージョンbash-4.0-rc1の間の変更点について詳述します。

1. Bashの変更点

a. setlocale(3)が失敗してerrnoの値が変わったときのエラーメッセージとして、strerrorのエラーテキストを含めるだけにしました。

b. trapコマンドで設定したトラップコマンドを実行する前に、行番号をリセットするように変更しました (DEBUGとRETURNのトラップを除く)。

c. 大文字小文字を変更する単語展開が、変数の値に含まれる単語単位で働かないように変更しました。

d. mapfileが対話シェルで実行されたときに割り込み不可能になるバグを直しました。

e. mapfileで最初の行にコールバックが実行されないバグを直しました。

f. mapfileが対話シェルで入力されたEOFを尊重しないバグを直しました。

g. コプロセスを受け取るコードがシグナルハンドラから正しく実行できないのを直しました。

h. printf -bが、64bitシステムで書式文字列中の最初の%書式指定子を無視するバグを直しました。

i. $IFSに`:'や`='、`~'が含まれるときに単語分割が正しくないバグを直しました。

j. プログラム補完で呼ばれたシェル関数が中断されたときにデータが壊れるバグを直しました。

k. 組み込みコマンドtimeが報告するCPUの使用率が100%を凌ぐバグを直しました。

l. シェルで-eオプションが有効なときの挙動を、Posixシェル標準化ワーキンググループの合意を反映するよう変更しました。

m. いくつかの状況で、リダイレクトが関数に現れるときにtypeやdeclareで表示されないという、bash-4.0-alphaで入ったバグを直しました。

2. Readlineの変更点

a. 拡張パターンマッチング!(...)により以後の履歴展開が妨げられるバグを直しました。

b. 許可されない関数をシグナルハンドラから呼び出せないように、シグナルハンドリングのコードをやり直しました。

3. Bashの新機能

a. readarrayがmapfileの別名となりました。


この文書は本バージョンbash-4.0-rc1と前バージョンbash-4.0-beta2の間の変更点について詳述します。

1. Bashの変更点

a. $()形式のコマンド置換の直後にクォートされた改行が来るとパースエラーになるバグを直しました。

b. `*('ではじまる拡張パターンマッチングがパターン置換の単語展開と併用できないバグを直しました。


この文書は本バージョンbash-4.0-beta2と前バージョンbash-4.0-betaの間の変更点について詳述します。

1. Bashの変更点

a. 単語展開の失敗がPIPESTATUSでなく$?にセットされるバグを直しました。

b. 先頭にチルダのついたファイル名がカレントディレクトリにある場合、ファイル名の補完がチルダをクォートするように変更しました。

c. 複合コマンドに対するリダイレクトでファイルディスクリプタが回収されないバグを直しました。

d. -uオプションが指定されているとき、位置パラメータが与えられていないのに、$@や$*の展開でシェルが終了しないバグを直しました。

e. 出力中に終了シグナルを受け取ってもすぐに終了しないバグを直しました。

f. 単語の補完の間に256個のプロセス置換を作るとシェルがクラッシュするバグを直しました。

2. Readlineの変更点

a. マルチバイトのロケールで非表示文字を含むプロンプトを使いコマンドに数値の引数を与えたときに再表示にエラーが起こるバグを直しました。

b. 画面で2行にわたる非表示文字を含むプロンプトを使っているときに再表示にエラーが起こるバグを直しました。


この文書は本バージョンbash-4.0-betaと前バージョンbash-4.0-alphaの間の変更点について詳述します。

1. Bashの変更点

a. Posixスタイルのコマンド置換をパースするときの初期化の前に使われる変数の誤字を直しました。

b. パラメータの展開が、パターンを削除する展開が空になるパターンの一部で、空ではない文字列の一部として使われるときに、迷子の^?ができるバグを直しました。

c. 文字列がstrtolで数値に変換されないのに変換が成功したように扱われるバグを直しました。

d. 組み込みコマンドreturnは、Posixの要求に合わせ、オプションを認めません。負の終了ステータスを指定するには、前に`--'を置きます。

e. ローカル変数が空の値ではなく空文字列で作られるバグを直しました。

f. リストを実行しているときにSIGINTでパイプラインが終了すると、シェルが割り込みを受けたように動作するように、振る舞いを変更しました。

g. `declare var'や`typeset var'がvarを空文字列で初期化するバグを直しました。

h. 組み込みコマンドbindが行編集の動作しない状態で呼ばれたときに、警告を表示するが先に進むように変更しました。

i. errexitオプションがセットされていて、パイプライン中のコマンドが0でない終了ステータスを返したときに、シェルが終了するバグを直しました。

j. いくつかの状況において、bash -cでコマンドを実行したときにexitトラップが実行されないバグを直しました。

k. evalでコマンドを実行したときに$?がときおりセットされないパーサーのバグを直しました。

l. $'\x7f' のエスケープを含む複合的な配列の代入を評価したときに、迷子のコントロール文字ができるバグを直しました。

m. ファイルディスクリプタ10を対象とするリダイレクトが勝手な振る舞いをするバグを直しました。

n COMP_WORDBREAKSに代入を複数回行なったときに、メモリを複数回解放してしまう場合があるバグを直しました。

o. COMP_WORDBREAKSがunsetされたときにNULLポインタの参照が起こる場合があるバグを直しました。

2. Readlineの変更点

3. Bashの新機能

a. readコマンドの-tオプションに0を指定すると、指定したファイルディスクリプタに読み込めるデータがあれば、成功の終了ステータスを返します。

b. シェルが特権モードで実行されている場合、CDPATHとGLOBIGNOREは無視されます。

c. キーに割り当てられるreadline関数shell-forward-wordとshell-backward-wordが新しく導入されました。シェルのメタ文字で区切られた単語の前または後ろに移動し、シェルのクォートに敬意を払います。

d. キーに割り当てられるreadline関数shell-backward-kill-wordとshell-kill-wordが新しく導入されました。shell-forward-wordやshell-backward-wordと同じ単語区切りで前または次の単語をキルします。

4. Readlineの新機能

a. カーネルがサポートしていれば、readlineはキーボードからのシグナルを受け取ると対応する特殊文字を表示します。


この文書は本バージョンbash-4.0-alphaと前バージョンbash-3.2-releaseの間の変更点について詳述します。

1. Bashの変更点

a. 古い形式のコマンド置換である``をパースする際のバグをいくつか修正しました。コメントのパースやクォートの扱いが含まれます。

b. [[コマンドで正規表現マッチングの演算子=~の引数をパースする際のバグを修正しました。メタキャラクタと空白文字のパースです。

c. シェルが内部で使う高い番号のファイルディスクリプタを不適切に再利用してしまうバグを直しました。

d パターン置換の単語展開において、展開後のパターンが`/'で始まるときに全置換の指定と誤解されるバグを直しました。

e. asprintfとsnprintfの置き換えによりハングやクラッシュが起こるいくつかの問題を直しました。

f. 現在のジョブとひとつ前のジョブを計算するときに不正なジョブを参照するバグを直しました。

g. ハッシュされているコマンドのパス名の正当性を検査するときにハッシュ表に不必要な削除や追加がなされるバグを直しました。

h. 子プロセスに$!の誤った値が引き継がれるバグを直しました。

i. `.'が通常のファイルではないデバイスやパイプなどからコマンドを読み込んで実行するのに失敗するバグを直しました。

j. printfがいくつかのシステムで%xや%Xの展開に失敗するバグを直しました。

k. 書き込み権限のないディレクトリが$TMPDIRに指定されているとき、一時ファイルを作ろうとしてクラッシュするバグを直しました。

l. いくつかの状況で一時ファイルを作るときに$TMPDIRを無視することがあるバグを直しました。

m. プロセス置換によって作られた名前付きパイプが後始末されないバグを直しました。

n. HISTTIMEFORMATが初期化シェル環境に現れたときに尊重されないバグを直しました。

o. IFSが空か空白文字以外を含んで着るときの、$*や$@の展開(クォートされているときもされていないときも)に関するいくつかのバグを直しました。同じ変更は、配列の添字に*や@を指定したときにも適用されます。

p. $IFSに空文字が設定されているとき、位置パラメータや添字に*や@を指定した配列のパターン置換展開に起こるいくつかの問題を直しました。

q. デフォルトのロケールの初期化コードに変更を加え、ロケールを意識したライブラリ関数がより望ましい動作をするようにしました。

r. ジョブのリストを縮めるときにジョブを取りこぼすバグを直しました。

s. 矛盾した状態でシェルを抜けようとしたときにトップレベルの処理ループに引き戻されるバグを直しました。

t. 内部でエスケープされる文字がバックスラッシュでエスケープされたときに2倍になるバグを直しました。

u. シェルの起動時に、メールボックスを初期化してもmaildirを読み込まない (そしてstat(2)がすべてのメッセージに対して呼ばれる) のを直しました。

v. 組み込みコマンドreadが、バックスラッシュで続いた行を読むときに$PS2を表示しないバグを直しました。

w. 内部のクォートに使う文字が$IFSに含まれるときに単語分割でエラーになるバグを直しました。

x. いくつかのシステムで組み込みコマンドからの出力が完全には表示されないバグを直しました。

y. リダイレクトがシェルの出力ファイルディスクリプタに作用するときに出力が失われるバグを直しました。

z. 組み込みコマンドが出力エラーをチェックしていないことによるバグを直しました。

aa. 展開エラーになるパターンを、パターンを削除する単語展開に与えたときにコアダンプするバグを直しました。

bb. 4096のジョブを作って待つと無限ループに陥るバグを直しました。

cc. ある状況でbashがバックグラウンドジョブの状態を見失うバグを直しました。

dd. いくつかの状況において変数の参照で一時的な環境を見ないバグを直しました。

ee. 10番より大きいファイルディスクリプタがリダイレクションで使われたときにbashがクローズするバグを直しました

ff. `bash -i script'で起動したときにシェルが標準入力から読もうとする問題を直しました。

gg. printfに-vオプションが指定されて不正な結果になった場合、メモリリークと変数の初期化が起きる問題を直しました。

hh. 組み込みコマンドreadに-nオプションが指定された場合、(もしかするとマルチバイト文字の) 文字数ではなくバイト数を数えるバグを直しました。

ii. 関数を表示するときに外部形式に変換しないことによるバグを直しました。

jj. ジョブコントロールの初期化を変更しました。ジョブコントロールを有効にする前に端末コントロールに使うttyをシェルが持っているかどうか確認します。

kk. 組み込みコマンドtestが、`-'で始まり1文字より多くの文字が続く引数の解釈を誤るバグを直しました。

ll. いくつかのケースでコマンドがSIGINTをデフォルトにセットするとシェルがコアダンプするバグを直しました。

mm. パターン置換でパターンと置換文字列の両方が空の場合のバグ (単語展開と組み込みコマンドfcの両方に影響) を直しました。

nn. 算術評価のエラーによって以後の評価が無効になるバグを直しました。

oo. パス名展開においてパス名中のバックスラシュをクォート文字と解釈するバグを直しました。

pp. getcwd()を置き換えた実装がメモリを上書きするバグを直しました。

qq. Posixモードでは、組み込みコマンドulimitの-cオプションや-fオプションに、ブロックサイズを512バイト単位で指定するようになりました。

rr. ブレース展開はプロセス置換を変更なしで素通しにします。

ss. コマンド名がチルダで始まっているときに、コマンド名の補完のコードがエスケープされた特殊文字を再度クォートするのを避ける問題を直しました。

tt. 組み込みコマンドprintfで、"'"でエスケープしてマルチバイト文字を使っていてもシングルバイト文字で表示される問題を直しました。

uu. 複合コマンドのリダイレクトが失敗したときに、失敗の終了ステータスが失われるバグを直しました。

vv. サブシェルを作ったときに内部の乱数生成器が乱数の新しい種を正確に取りなおさないバグを直しました。

ww. bashの置き換えたgetcwdがメモリを上書きするバグを直しました。

xx. シェルがコマンド置換の終わるのを待っている間にSIGINTが送られ、終了ステータスが正しいかどうか確かめるときにシェルがSIGINTを受け取らないバグを直しました。

yy. シェルから実行された2番目以降の子プロセスがコマンド置換を違ったプロセスグループで実行するバグを直しました。

zz. チルダの展開の成功がパス名展開や単語分割に制約されるバグを直しました。

aaa. コマンド置換やevalコマンドの最中にトップレベルの処理ループに引き戻されるエラーが発生すると、シェルがハングするバグを直しました。

bbb. 組み込みコマンドreadが-nオプションと-dオプションを処理するときに、-uオプションで渡されたファイルディスクリプタの属性ではなくttyの属性を使うバグを直しました。

ccc. $IFSの最初の文字が空白文字ではない場合に${array[@]:foo}の展開が間違ったものになるバグを直しました。

ddd. ${parameter/pat/sub}の展開で末尾の区切り文字を探すときに起こるバグを直しました。

eee. 補完でディレクトリ名を展開しているときにコマンド置換を不適切に展開するバグを直しました。

fff. 組み込みコマンドfcがいくつかの状況で履歴リストを遡りすぎるバグを直しました。

ggg. Posixモードで動作しているシェルが、sourceや.の引数として指定されたファイルが$PATHで見つからなかったときに$PWDから探すバグを直しました。

hhh. 補完で大文字と小文字を区別しない動作のときに、補完で見つかったコマンド名の大文字小文字を変更するバグを直しました。

iii. sourceや.の引数に `/' が含まれているのに$PATHから探すバグを直しました。

jjj. ロケールにaAbBcC...zZのような照合順序が含まれないときに、ブレース展開で順序を間違えるバグを直しました。

kkk. `set +o history'を初期化ファイルやソースされたファイルで実行しても効果がないバグを直しました。

lll. 条件の算術演算子?:で優先順位のバグを直しました。

mmm. 一時的な変数への代入がシェルの環境変数として生き残るという副作用のバグを直しました。

nnn. 現在のコマンドラインの編集から呼び出された編集コマンドで、端末がcanonicalモードにならないバグを直しました。

ooo. パターンマッチング文字や$IFSに含まれる文字が、代入文の表示で適切にクォートされないバグを直しました。

ppp. ファイルをソースしたときやコマンドをevalしたときに、コマンドの終了ステータスを無視するはずなのに-eオプションが引き継がれるバグを直しました。

qqq. 最初の環境で不正な変数名が使われるときに、シェルがその名前の変数を作ろうとするバグを直しました。

rrr. 文字列がバックスラッシュで終わるときにクォートを取り除くバグを直しました。

sss. 特殊変数が、シェルスクリプトを実行してシェル自身を再初期化したときにunsetされても生き残るバグを直しました。

ttt. `history -c'や`history -d'を実行した後、十分な数のコマンドが履歴にたまるまで履歴が保存されないバグを直しました。

uuu. Bashはコマンド置換をPosixのルールにしたがってパースするようになりました。$()に含まれるコマンドのパースでは、閉じ記号を探します。

vvv. SIGCHILDのハンドラからSIGCHILDをトラップしても生き残らないバグを直しました。

www. SIGCHILDがPosixの仕様どおりに組み込みコマンドwaitを中断させないバグを直しました。

xxx. 組み込みコマンドの数値引数が不正なときに実行中の複合コマンドがショートすることはもうありません。

yyy. breakでループの実行をショートカットしたときに終了ステータスが失われるバグを直しました。

zzz. "${array[*]}"の展開で迷子の文字^?が残るバグを直しました。

aaaa. ヒアドキュメントがEOFで終わっているときのエラーメッセージや、算術式が間違っている時に問題箇所を特定するためのエラーメッセージを、改善しました。

bbbb. 変数の長さを展開するときにマルチバイト文字の文字数の計算を間違うバグを直しました。

cccc. シェルの子プロセスの子プロセスによってプロセスグループが変更されるとトップレベルのシェルが端末のプロセスグループを不正な値にセットする競合状態を直しました。

dddd. 複合コマンドの中のヒアドキュメントが文法的に正しくない形式で表示され、標準入力から読み込み直せないバグを直しました。

eeee. シェルは、ロケールの設定に失敗したときに、いままでより多くの警告を表示します。

ffff. ヒアドキュメントの内容が履歴リストに保存されないバグを直しました。

gggg. configureが誤ってFreeBSDに/dev/fdがあると結論を出すバグを直しました。このバグはプロセス置換で問題になります。

2. Readlineの変更点

a. マルチバイト文字環境での再表示に関する多くのエラーを直しました。

b. vi形式のコマンドモードで不適切に設定されたマークへの移動のバグを直しました。

c. vi形式の挿入モードで矢印キーを使うときに、(コマンドモードとは違い)行末を超えて移動できます

d. 端末が片づけられていて読み込むと-1/EIOが返るときに、readlineがループに陥るバグを直しました。

e. 非表示文字を含むプロンプトを表示するときに起こる再表示のバグを直しました。

f. アプリケーションの指定する補完機能で変更しても、補完で文字が追加される動作をデフォルトに戻せないバグを直しました。

g. emacs編集モードで、ロケールでサポートしたマルチバイト文字を使っているときに、行末からカーソル位置を進めるとカーソル位置が不正になる問題を直しました。

h. 入力のうち511番ごとの文字を取りこぼして1つずれるエラーを直しました。

i. SIGTERMが捕捉されず後片付けもされないバグを直しました。

j. 複数行のプロンプトが非表示文字からなるか、最後の改行の後に文字がない場合の再表示のバグを直しました。

k. プロンプトが非表示文字だけからなる場合の再表示のバグを直しました。

l. 非常に速く連続して文字を受け取ると文字を取りこぼすコード上のバグを直しました。

m. 補完を初期化する前にSIGWINCHを受け取ると、readlineが初期化されていないデータ構造を参照するバグを直しました。

n. viモードでひとつ前のコマンドが不正にセットされ、その結果繰り返しができなくなるバグを直しました。

o. 端末ではない出力ファイルディスクリプタを使っているときにreadlineがエコーバックを無効にするバグを直しました。

p. Readlineは再表示のため内部のデータ構造を操作している間SIGINTをブロックします。

q. 非常に長い行 (130,000文字以上) をペーストしたときにセグメンテーションフォルトを起こす再表示のバグを直しました。

r. プロンプトに表示できる文字がない場合の再表示のバグを直しました。

3. Bashの新機能

a. 位置パラメータに対して部分文字列展開を使う場合、開始位置に0を指定すると、リストの先頭に$0を置きます。

b. 組み込みコマンドhelpは、項目を横方向ではなく縦方向の順に並べます。

c. 変数$BASHPIDが新しく導入されました。常に現在のシェルのプロセスIDを返します。

d. オプションautocdが新しく導入されました。有効にすると、bashはコマンドの最初の語として与えられたディレクトリ名へのcdを試みます。

e. オプションcheckjobsが新たに導入されました。シェルの終了時に、実行中や停止中のジョブをすべて確認して報告します。

f. プログラム補完でエクスポートされる変数COMP_TYPEが新しく導入されました。補完のタイプを表す文字がセットされます。

g. プログラム補完でエクスポートされる変数COMP_KEY新しく導入されました。補完を呼び出した文字 (例: TAB) がセットされます。

h. 子プロセスの作成がリソース不足のために失敗する場合、bashは失敗を報告する前に何度かやり直します。

i. プログラム補完では単語を分割する際にreadlineと同じ文字の集合が使われます。

j. ulimitの-cオプションと-fオプションの指定は、PosixモードではPosix仕様に合わせて512バイト単位になりました。

k. 組み込みコマンドreadの動作を変更して、読み込みがタイムアウトしたときに途中までの入力を変数に保存するようにしました。入力がなかったときには変数に空の文字列がセットされます。タイムアウトしたときには、128より大きい終了ステータスを返します。

l. 互換性レベルの概念が新しく導入されました。shoptによって設定できます。いまのところ、[[コマンドで演算子=~の右辺のクォートされた文字列を処理するときのふるまいをbash-3.1相当に戻すだけです。

m. 組み込みコマンドulimitに、-b (ソケットのバッファサイズ) オプションと-T (スレッド数)オプションが追加されました。

n. declareの-pオプションは、すべての変数の値と属性を表示します。-fオプションとともに指定された場合は、関数の値と属性を表示します。

o. 組み込みコマンドcompoptが新しく導入されました。既存の補完や実行している補完のオプションを変更できます。

p. 組み込みコマンドreadに-iオプションが追加されました。readlineを使うときに、指定された文字列をバッファに挿入します。

q. 組み込みコマンドcompleteに-Eオプションが追加されました。空行の補完のときのデフォルトの挙動を制御できます。

r. パターンマッチ文字を含むコマンド名のコンプリーションが限定的にサポートされます。

s. すべての組み込みコマンドについてヘルプ情報の書式を変更し、manページの書式におおよそ合わせました。

t. 組み込みコマンドhelpに、短い説明を表示する-dオプションが追加されました。また、manページ風の書式で表示する-mオプションが追加されました。

u. 組み込みコマンドmapfileが新しく導入されました。与えられたファイルから各行を配列に投入します。

v. コマンドが見つからないとき、シェルはcommand_not_found_handleという名前のシェル関数の実行を試みます。関数の引数としてコマンド名が与えられます。

w. オプションglobstarが新しく導入されました。有効にすると、パターンマッチで`**'を特別に扱い、すべてのディレクトリ (適切な場合にはその中のファイルも) に再帰的にマッチします。

x. オプションdirspellが新しく導入されました。有効にすると、コンプリーションのときにデイレクトリ名の綴りを修正します。

y. 組み込みコマンドreadの-tオプションは、タイムアウト時間の値として分数をサポートします。

z. ブレース展開で、数の先頭の0詰めができます。すべての数字が同じ桁数になるように適切な数の0が付けられます。

aa. bashに特化した関数dabbrev-expandがreadlineに新しく導入されました。履歴リストから取った候補から選択的に補完できます。

bb. bind -xでキーシーケンスに割り当てられたコマンドに、READLINE_LINE_BUFFERとREADLINE_POINTの2つの変数をセットします。コマンドからREADLINE_LINE_BUFFERやREADLINE_POINTを個別に変更することで、readlineの現在行やカーソル位置を変えられます。

cc. リダイレクション演算子>>&が新しく導入されました。標準出力と標準エラー出力をファイルに追加出力します。

dd. パーサーは`|&'を`2>&1 |'の別名と認識します。コマンドの標準エラー出力をパイプにリダイレクトします。

ee. case文で実行リストの最後を示す`;&'が新しく導入されました。コマンドを終了するかわりに、次のパターンの文に進みます。

ff. case文で実行リストの最後を示す`;;&'が新しく導入されました。コマンドを終了するかわりに、次のパターンを試します。

gg. シェルは新しい変数PROMPT_DIRTRIMを認識します。0より大きい数がセットされると、プロンプトで\wと\Wが展開される際に、パス名をその文字数までにとどめ、途中の文字を`...'で置き換えます。

hh. 単語展開に、新しく大文字小文字変換が導入されました。大文字変換(^[^]) と小文字変換 (,[,]) です。どちらも、文字列や配列要素について、先頭を置換または全置換します。変換する文字をシェルのパターンで指定することもできます。キャピタライズ変換も、ビルド時の指定で使えるようにできます。

ii. シェルには連想配列が用意され、作成、削除、代入、展開が適切にサポートされます。

jj 組み込みコマンドdeclareに、-l (代入された値を小文字に変換する) オプションと-u (代入された値を大文字に変換する) オプションが追加されました。代入された値をキャピタライズする-cオプションもビルド時の指定で使えるようにできます。

kk. コプロセスを指定する予約語coprocが新しく導入されました。非同期に動作し、生成元のプロセスと2つのパイプで接続されます。コプロセスには名前を付けられます。コプロセスの入力ファイルディスクリプタとや出力ファイルディスクリプタ、PIDは、coprocで指定した名前の変数から呼び出せます。

4. Readlineの新機能

a. 変数rl_sort_completion_matchesが新しく導入されました。アプリケーションから候補リストのソートを抑止できます(注意:アプリケーションによってうまくいかない場合もあります)。

b. 変数rl_completion_invoking_keyが新しく導入されました。rl_completeやrl_menu_completeを呼び出したキーをアプリケーションから見つけられます。

c. 関数rl_block_sigintとrl_release_sigintが公開されました。アプリケーションがクリティカルセクション(再表示など)を守りたい場合に呼び出します。

d. 関数rl_save_stateとrl_restore_stateが公開され、アプリケーションから呼べるようになりました。readlineの状態フラグの値の残りが記録されます。

e. ユーザーが設定できる変数history-sizeが新しく導入されました。履歴リストにセットできるエントリー数の最大値をセットできます。

f. 選択的な補完について、新しい実装や実装の置き換えをしました。最も注目すべき改良点は、よりよい`completions browsing'モードです。

g. 選択的な補完では、変数rl_menu_completion_entry_functionの関数が使われるようになりました。アプリケーションが選択的な補完を独自に生成できます。

h. 補完候補を表示するときに、パス名の前のほうを`...'で置き換える機能を用意しました。変数completion-prefix-display-lengthに値をセットして制御できます。この数値より長い共通の部分が`...'に置き換えられます。

i. 変数revert-all-at-newlineが新しく導入されました。有効にすると、accept-lineが実行されたときに、変更して実行していない履歴行の変更が元の状態に戻されます。

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/566-2a9686e3

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad