Skip to content

Version 2.48

Compare
Choose a tag to compare
@magicant magicant released this 22 Dec 14:27
· 422 commits to trunk since this release

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.
  • 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.