diff options
author | Joe Rayhawk <jrayhawk@fairlystable.org> | 2025-04-30 02:07:56 -0700 |
---|---|---|
committer | Joe Rayhawk <jrayhawk@fairlystable.org> | 2025-04-30 02:07:56 -0700 |
commit | 26e09889646be3ea65b4a3dfeda26213e4bb6a27 (patch) | |
tree | 4f3c73a9416bf47ad7e125383d23cf42879e38d7 /NEWS | |
parent | 841bce705a58b04220b1f257abcc00ae71cbdbdc (diff) | |
parent | 001cba48ce3b964cf01fb3e2af54b20eacbc9bf5 (diff) | |
download | zsh-26e09889646be3ea65b4a3dfeda26213e4bb6a27.tar.gz zsh-26e09889646be3ea65b4a3dfeda26213e4bb6a27.zip |
Merge branch 'upstream' into debian
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 66 |
1 files changed, 65 insertions, 1 deletions
@@ -4,6 +4,70 @@ CHANGES FROM PREVIOUS VERSIONS OF ZSH Note also the list of incompatibilities in the README file. +Changes since 5.9 +----------------- + +zsh 5.10 is dedicated to the memory of Sebastian Gniazdowski, who was +an enthusiastic new community member interested in making zsh easy to +extend with community code/`plugins'. + +Support for named references and namespaces has been added, similar to +those features in ksh but with some notable differences. The `nameref` +builtin and some ksh-equivalent namespace names are available by loading +the zsh/ksh93 module. See the documentation of that module for more. + +The parameter expansion flag ! was added for the referred-to name of a +named reference. + +The parameter ZSH_EXEPATH expands to the full path of the current zsh +process, reliably on Linux, Mac, {Net,Free,Dragonfly}BSD and falls +back to argv[0] elsewhere. + +The default keymap is now emacs. Users of the vi keymaps please check +README to see if you are affected. + +In region_highlight and zle_highlight, italic and faint can be +specified as font attributes for terminals that support them. + +Highlighting groups can be referenced in region_highlight, +zle_highlight, WATCHFMT and completion explanation strings for +common attribute combinations and a layer can be specified to +indicate precedence where highlighted regions overlap. +Highlighting groups are also supported in the prompt via a new %H +prompt escape. + +Ellipsis markers shown by the line editor to indicate where the line +doesn't fit in the terminal can be highlighted. + +The ERR_EXIT and ERR_RETURN options were refined to be more self- +consistent and better aligned with the POSIX-2017 specification of +`set -e`. For details on what exactly changed, see the list of +incompatibilities in the README file. + +Non-forking command substitutions with ${ ... } and ${| ... } are now +available, and the latter extended with ${{param} ... } to return the +result via assignment to the named param rather than always via $REPLY. + +The shell now uses monotonic time instead of wall time for most +internal time tracking, making it immune to system clock changes due to +NTP, etc. For the most part this is transparent to users. However, as a +side effect, some features like $SECONDS and the time keyword gained +(nominal) nanosecond precision. + +The zsh/zutil module's zparseopts builtin learnt a -v option which can +be used to specify the array of arguments to parse instead of $@. + +The zparseopts builtin also learnt a -G option which enables GNU-style +argument parsing ('--opt=arg', etc.). + +The module zsh/pcre has been updated to use the pcre2 library. + +The new zsh/random module defines an SRANDOM parameter, zrand_float() +and zrand_int() math functions. + +The shell keyword time now works on builtins, assignments, and +current-shell actions. + Changes since 5.8.1 ------------------- @@ -49,7 +113,7 @@ negative numbers. The (*) expansion flag enables EXTENDED_GLOB for pattern matching. For example, ${(*)sample/(#b)*(pat)*/${match[1]}} uses backreferences even if EXTENDED_GLOB is not otherwise set. However, this does not -descend into nested exapansions, and doubling as (**) does not disable +descend into nested expansions, and doubling as (**) does not disable EXTENDED_GLOB. The compinit function learnt a -w option to explain why compdump runs. |