diff --git a/Etc/BUGS b/Etc/BUGS index 1719946b1..e238c161c 100644 --- a/Etc/BUGS +++ b/Etc/BUGS @@ -46,12 +46,12 @@ related, probably obsolete, vared special case for $TERM set to "emacs". ------------------------------------------------------------------------ 47561: [PATCH v4] vcs_info: choose backend by basedir ------------------------------------------------------------------------ -48091: Bug in compdescribe with matcher 'b:-=+' +48091, 49276: Bug in compdescribe with matcher 'b:-=+' ------------------------------------------------------------------------ users/26071: Strange behavior about option completion of "git push --f" ------------------------------------------------------------------------ 50930: If a conditional expression appears in a current-shell construct (such as { sleep 20 && print $? }) which is then suspended with ^Z, the -return value of the left side of the expression is always 148 (SIGSTOP) +return value of the left side of the expression is always 148 (SIGTSTP) and thus the expression is likely to be incorrectly interpreted. ------------------------------------------------------------------------ diff --git a/NEWS b/NEWS index 0e726699f..80b668a6d 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,15 @@ 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. +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-equivlent namespace names are available by loading +the zsh/ksh93 module. See the documentation of that module for more. + +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. + Changes since 5.8.1 ------------------- diff --git a/README b/README index cb6d380aa..250b1d26e 100644 --- a/README +++ b/README @@ -79,6 +79,42 @@ consistent and better aligned with the POSIX-2017 specification of f() { { false; echo "This is printed only since 5.10." } || true } if f; then true; fi +PCRE support is now PCRE2 by default. + +Parameter names may begin with a "." and follow a relaxed implementation +of ksh namespace syntax. Expansion of such parameters must use braces, +that is, in ${.param.name} form. Parameters so named are excluded from +`typeset` and `set` output unless explicitly listed in `typeset` arguments +or matched by a pattern with `typeset -m`. + +Interpretation of exclusion-patterns following alternation-patterns has +been rationalised. This means for example that `[[ ab = (|a*)~^(*b) ]]` +is true where prevously it was false. + +Improvements to handling of terminal colors and attributes in prompts +may change the behavior of some prompt sequences, most notably in +cases where `esq=${(%)...}` is used to capture an escape sequence. + +The `which` and `functions` commands output function definitions in a +format independent of the MULTI_FUNC_DEF option. + +Math context no longer interprets a leading underscore as part of a +numeric constant. + +Nul and characters greater than \x77 are correctly handled by `read -d`. + +Return values of `sysopen` from the zsh/system module have been updated +to be more similar to other commands in that module. + +The `watch' parameter and `log' command have moved to an autoloaded module. + +Tied parameters created with the zsh/db/gdbm module may not be re-tied +as locals in nested function scope. This prevents database corruption +when a function scope ends. + +Many Completion/ functions have been updated to recent versions of their +corresponding commands, so the results offered may have changed. + Incompatibilities between 5.8.1 and 5.9 ---------------------------------------