Version 2.41
Yet another shell, version 2.41.
This version includes many bug fixes with some new features.
Change log:
- + '--emptylastfield' option.
- + New option for the "shift" built-in: -A
- + The "shift" built-in now accepts negative counts.
- + New completion script for: git-notes, git-reflog, git-worktree
- = The non-interactive shell now exits on an assignment error in a simple command without a command name.
- = The exit status is now non-zero when a for loop has been interrupted because of an read-only variable.
- = When there is no positional parameter, the word """$@" is now expanded to an empty word, producing the same result as "$@""".
- = The behavior of field splitting has been modified to match the intended interpretation of POSIX: If field splitting yields more than one field and the last field is empty, the last field is now removed.
- = The "read" built-in now removes leading whitespaces when assigning the last input value to the variable.
- = The first character of $IFS is now always used as a separator when concatenating positional parameters. Previously, $IFS was ignored in some corner cases.
- * Unclosed process redirections are now detected as syntax error.
- * When $ECHO_STYLE was GNU or ZSH, the "echo" built-in was incorrectly ignoring single hyphen operands.
- * The "typeset" built-in was crashing when used with a temporary assignment to a variable not specified in the built-in operands.
- * In the "typeset" built-in, the -r option was not effective when printing functions.
- * The "typeset" built-in now detects combination of the -f and -g options as an error.
- * The "fg" and "bg" built-ins no longer try to resume a non-job- controlled job when given no operand.
- * In range brace expansion, integers were not always parsed correctly.
- * The "fc" built-in was not handling the history range correctly when the range was specified with an unused entry number.
- * The "fc" built-in was incorrectly rejecting the syntax of the form "fc -s foo=bar n".
- * The interactive shell was unexpectedly forgetting the exit status of background jobs when reporting the job status.
- * Fixed potential undefined behavior during reading a history file.
- * Parameter expansions of the form ${foo/bar/baz} are now rejected in the POSIXly-correct mode, as documented in the manual.
- * Single- or double-quoted empty words were incorrectly being removed in field splitting.
- * Backslash escapes are now recognized in parameter indexes.
Legend:
- +: new feature
- =: specification change
- *: bug fix