これは、@ 0raxによる問題#4206のこのコメントのスピンオフです。
コミットd383e3bは、データが読み取られなかった場合でも常に変数を定義するようにread
を変更しました。 少なくとも1つの変数名が指定されていることを前提としています。 しかし、現時点では、変数名なしでread
を呼び出すことは合法です。 これは意味がありません。 bashや同様のシェルで意味をなす唯一の理由は、デフォルトで変数名REPLY
になっていることです。 Fishはそれを行わないため、少なくとも1つのvar名なしでread
を呼び出すことを許可しないでください。 ユーザーが単に入力行を破棄したい場合でも、テキスト行を格納する変数名を指定する必要があります。
問題は、2.xシリーズの最終リリースである2.7.0リリースでこれを変更する必要があるかどうかです。 3.0.0リリースでは絶対にこれを変更する必要があります。
2.7の場合と同じように動作させ、3.0の場合はエラーにすると思います。
71af1a9がhttps://github.com/fish-shell/fish-shell/issues/4206で説明されている目的の動作を復元することを確認できます。
クイックフィックスをありがとう!
fish 3.0リリースに含めるために、メジャーブランチに統合されました。
最も参考になるコメント
2.7の場合と同じように動作させ、3.0の場合はエラーにすると思います。