Version 2.48
Yet another shell (yash), version 2.48.
This version introduces the [[ ... ]]
command syntax and the local
built-in.
Various fixes and improvements have been applied as well.
- Added: The double-bracket command (the
[[ ... ]]
syntax) - Added: The
local
built-in - Added: The '--le-predict-empty' option
- Added: The prompt string now can be defined with the
$YASH_PS...
variables. - Changed: Command line prediction no longer shows suggestion before you start typing a command. Use the new '--le-predict-empty' option to restore the previous behavior.
- Changed: The default value of
$PS1
has been changed. - Fixed: The line number is now correctly counted in arithmetic expansions that contain newlines.
- Fixed: Subshells in the EXIT trap were unexpectedly exiting with the exit status of the last command executed before the EXIT trap on the main shell.
- Fixed: A new EXIT trap that was set in a subshell in the EXIT trap was unexpectedly being ignored.
- Fixed: The
typeset
built-in was crashing when printing a function that contains a here-document that contains a command substitution that contains more than one command. - Fixed: The
typeset
built-in was forgetting to print here-document contents when printing a function that contains a process substitution (or redirection) that contains here-documents. - Fixed: The variable name token in the for command and the word following a here-document redirection operator are now correctly parsed even when it resulted from an alias substitution whose value begins with a blank.
- Fixed: The
do
keyword in a for loop is no longer subject to alias substitution. - Fixed: An invalid semicolon that appears at the beginning of a line as a result of alias substitution in a for loop is now correctly rejected.
- Changed: For more strict POSIXly-correctness, some syntactic constructions are now regarded as an error in the POSIXly-correct mode:
- An IO_NUMBER token cannot be the operand of a redirection.
- Keywords immediately following a redirection are not recognized.
- Updated the sample initialization script (yashrc):
- Changed: The prompt strings are now defined with the
$YASH_PS...
variables. - Fixed: Window title update should now work on more terminals.
- Fixed: Any predefined handlers for SIGTSTP, SIGTTIN, and SIGTTOU are now cancelled so that jobs can be suspended properly.
- Changed: The prompt strings are now defined with the
- Updated completion scripts:
- Fixed: git: pathnames are now correctly completed with the latest Git.
- Added: git-grep: support new options in Git 2.19.1.
- Added: git-stash: support new options in Git 2.18.0.
- Added: ping: support some common options
- Changed: ssh, ssh-keygen: support new options in OpenSSH 7.7.