Download List

Project Description


Yet another shell (yash) is a POSIX-compliant command line shell, featuring more strict POSIX compliance than those of other shells, as well as powerful command line editing.

System Requirements

System requirement is not defined

Released at 2015-06-21 16:38
yash 2.38 (2 files Hide)

Release Notes

Yet another shell, version 2.38

This version includes various bug fixes.

The next version of yash will have some breaking changes to improve POSIX-compliance:

  • The "return" built-in will be changed not to interrupt the "eval" and "fc" built-ins. POSIX requires that the "return" built-in should interrupt the "dot" built-in and functions only. However, the "return" built-in will still keep to interrupt traps, which was neither documented in the yash manual nor required by POSIX, but it is considered unmeaningful to break the existing behavior as to traps.
  • The "read" built-in will be changed to require an option to enable line-editing while reading. The existing implementation of the built-in defaults to the current line-editing mode, but it does not allow precise control of the prompt string.

Yet another shell バージョン 2.38


POSIX により精確に準拠するため、次回のリリースでは現行バージョンと互換性の無い変更が入る予定です:

  • "Return" 組込みコマンドは "eval" または "fc" 組込みコマンドによって実行中のコマンドを中断しないようになります。POSIX は、"return" が中断するのはドット組込みコマンドと関数のみと定めています。ただし、"return" は引き続きトラップの実行を中断します。これは POSIX に定められておらず yash のマニュアルにも書かれていませんでしたが、現行動作を変える意義がないため現行動作を維持します。
  • "Read" 組込みコマンドでの読み込みに行編集を使うには、オプションが必須となります。現行の仕様では行編集の仕様を意図しない場面で行編集が有効になったり、プロンプト文字列が指定できなかったり、動作を十分に制御することができませんでした。


Yash 2.38

  • + New completion scripts for: git-rm
  • = In the POSIXly-correct mode, functions must now be defined with a portable name.
  • * Backslashes following IFS characters were wrongly being dropped in field splitting.
  • * In the POSIXly-correct mode, non-portable variable names are no longer allowed in for loops.
  • * Completion error on words following a tilde expansion.
  • * Completion error on moved or copied tracked files for git-add and git-commit.
  • * Completion error on untracked file for git-commit.
  • +: new feature
  • =: specification change
  • *: bug fix

Yash 2.38

  • + 補完スクリプトを追加: git-rm
  • = POSIX 準拠モードでは関数定義時にポータブルな関数名しか使えないように変更
  • * 単語分割で IFS 文字の直後のバックスラッシュが欠ける問題を修正
  • * POSIX 準拠モードでは for ループでポータブルな変数名しか使えないように修正
  • * チルダ展開の後に来る単語の補完を修正
  • * Git の引数の補完で、移動・コピーしたファイルの名前の補完を修正
  • * git-commit で非管理ファイルを補完しないように修正
  • +: 新機能
  • =: 仕様変更
  • *: バグ修正