diff options
Diffstat (limited to 'NEWS')
| -rw-r--r-- | NEWS | 89 |
1 files changed, 75 insertions, 14 deletions
@@ -20,25 +20,38 @@ 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. +process, reliably on Linux, Mac, {Net,Free,Dragonfly}BSD, Solaris, and +Cygwin, 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. +Additionally, a layer number can be specified using layer= to indicate +precedence where highlighted regions overlap, and colours can be mixed +with a previous layer's using opacity=. -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. +Highlighting groups with arbitrary text attribute combinations can be +defined via the .zle.hlgroups parameter. These groups can be referenced +by name in region_highlight and zle_highlight via hl=, and in prompt +expansion, WATCHFMT, and completion explanation strings via the %H +escape sequence. Ellipsis markers shown by the line editor to indicate where the line doesn't fit in the terminal can be highlighted. +The shell now keeps track of various terminal settings and capabilities, +such as support for 24-bit colour, via .term.extensions and related +parameters. By default the terminal is queried to determine the +appropriate values when ZLE starts. + +The zsh/nearcolor module is automatically loaded when an RGB hex triplet +is used and the terminal doesn't support 24-bit colour. + +The shape and colour of the terminal cursor can be controlled, similarly +to highlight regions, via the zle_cursorform parameter. + 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 @@ -54,11 +67,33 @@ 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 $@. +POSIX real-time signals (SIGRTMIN etc) are now supported by the kill +and trap builtins, TRAP* functions, and the signals parameter, where +available. + +The kill builtin learnt a new option -q to send the signal via +sigqueue(3) along with an arbitrary integer value, where available. + +The kill builtin also learnt a new -L option to print a list of all +known signal numbers and their names. + +The zsh/zutil module's zparseopts builtin learnt the following: + + - a new -G option enables GNU-style argument parsing + ('--opt=arg', etc.) + + - a new -n option sets the program name for usage errors + + - a new -v option specifies the array of arguments to parse instead + of $@ + + - a single empty option spec signifies that no options are recognised -The zparseopts builtin also learnt a -G option which enables GNU-style -argument parsing ('--opt=arg', etc.). +Also, zparseopts now uses standard argument parsing for its own options, +enabling support for option stacking (-DFG instead of -D -F -G). + +A new contrib function zgetopt was added. It wraps `zparseopts -G` to +provide an interface similar to util-linux's getopt(1). The module zsh/pcre has been updated to use the pcre2 library. @@ -68,14 +103,40 @@ and zrand_int() math functions. The shell keyword time now works on builtins, assignments, and current-shell actions. +The new completion helper _as_if can be used to complete one command as +if it were another command with particular arguments. + The new completion helper _shadow can be used to temporarily wrap or substitute a function. The contrib function mkshadow makes it easier to use outside of completion contexts. The zsh/mathfunc module now provides isnan() and isinf() functions. -Changes since 5.8.1 -------------------- +The getopts builtin learnt a -p option to make it behave like the +POSIX_BUILTINS option has been temporarily enabled. + +The shell now keeps track of the 'current' job inside subshells. This +enables some job-control features (disown without arguments, the %% job +spec, etc) to work where they previously didn't. + +The disown builtin learnt a new -a option to disown all jobs. + +The zsh/zutil module's zformat builtin learnt two new options, -q and +-Q, to escape '%' characters in format strings and/or specs so further +processing can be applied to the result. Quoting of each spec can also +be controlled via the spec prefixes '%' and '%%'. + +A 'math' context now appears in $zsh_eval_context within arithmetic +constructs. This can be used to create dual-purpose math functions. + +The shell now preserves COLUMNS and LINES from the environment when run +non-interactively. + +The completion helper _call_program learnt two new options, -q and -Q, +to quote its arguments before passing them to eval. + +Changes from 5.8.1 to 5.9 +------------------------- zsh 5.9 is dedicated to the memory of Sven Guckes, who was, amongst other things, a long-time zsh advocate. For more information, see: |
