diff options
Diffstat (limited to 'Etc/NEWS')
-rw-r--r-- | Etc/NEWS | 86 |
1 files changed, 70 insertions, 16 deletions
diff --git a/Etc/NEWS b/Etc/NEWS index bba3283e6..e65503a23 100644 --- a/Etc/NEWS +++ b/Etc/NEWS @@ -1,9 +1,11 @@ ------------------------------------- CHANGES FROM PREVIOUS VERSIONS OF ZSH ------------------------------------- - + New features in zsh version 3.1.6 (beta version) ------------------------------------------------ +Note also the changes for 3.0.6, which include changes between 3.1.5. and +3.1.6. New completion system via shell functions; massive degree of programmability and configurability: @@ -27,7 +29,8 @@ Other editing changes: History changes: new options HIST_NO_FUNCTIONS, HIST_EXPIRE_DUPS_FIRST, HIST_FIND_NO_DUPS, HIST_IGNORE_ALL_DUPS, INC_APPEND_HISTORY, HIST_SAVE_NO_DUPS, SHARE_HISTORY, allow better control of when history is -read and written and how duplicates are handled. +read and written and how duplicates are handled. New format for history +saves. Associative arrays plus enhanced parameter substitutions to retrieve keys and values. @@ -47,10 +50,9 @@ New loadable modules: array interface. Debugging and prompt enhancements: - - LINENO is now very much more useful in scripts and functions and has - corresponding prompt escape %i - - $PS4 can contain %i as well as %N for script or function names - (default PS4 changed), also %_ for current shell structure executing; + - $PS4 can contain %i for $LINENO as well as %N for script or function + names (default PS4 changed), also %_ for current shell structure + executing; - Prompt truncation %<...< is now more flexible: it applies to a whole section of the prompt, not just one escape. You need to put %<< after the truncated escape to get the old behaviour. @@ -58,8 +60,8 @@ Debugging and prompt enhancements: been output, else no (e.g. for outputting extra newlines). Parameter and expansion changes - - typeset -t MYPATH mypath creates tied path/PATH-like variables - - typeset -g allows operations on parameters without making them local + - `typeset -t MYPATH mypath' creates tied path/PATH-like variables + - `typeset -g' allows operations on parameters without making them local - New expansions - ${(t)param} prints type information for $param - ${(P)param} treats value of $param as the name of a param to @@ -68,27 +70,79 @@ Parameter and expansion changes - ${foo/old/new} substitution, like bash; also (S) flag for shortest match - $foo[(b.2.i)bar] starts searching $foo for bar starting at 2nd match - - more logical behaviour of nested parameters, now properly documented - - quote only nested expansion, e.g. ${(f)"$(<file)"} reads complete - `file', then splits lines into array. Builtin and function changes - stat module: `stat -H hash foo' gives you e.g. $hash[mtime] - - autoload -U autoloads functions without alias expansion. + - `autoload -U' autoloads functions without alias expansion. Other new options: - LOCAL_TRAPS allows signal traps to be local to functions (as in ksh). - NO_RCS can now be turned on at any point in initialization files. - NO_GLOBAL_RCS can force /etc/z* files after /etc/zshenv to be skipped. (Please don't use this as an excuse to stuff more into /etc/zshenv!) - - existing MAGIC_EQUAL_SUBST option is more useful; any argument containing - ...=~...:~... will perform filename expansion on the ~. + - Existing MAGIC_EQUAL_SUBST option is more useful; any argument containing + ...=~...:~... will perform filename expansion on the ~ (previously, + the string before `=' had to look like a parameter name). + +Configuration changes: + - Generation of signal names should be more reliable + - Customizable installation of shell functions from distribution. + +New features in zsh version 3.0.6 +--------------------------------- + +Most of these changes are designed to improve compatibility with zsh +version 3.1.6, the latest development release. However, this release also +fixes all known Year 2000 (Y2K) bugs in zsh 3.0. + +History changes: + - whitespace between words is ignored in history searches. + - new option HIST_REDUCE_BLANKS removes extra whitespace in the stored + history. + - support for reading (but not writing) version 3.1.6 history files. + +Globbing changes: + - the a, c, and m glob qualifiers can now test time in seconds. + - globbing of number ranges behaves more like character ranges in that + it can match a prefix of a number, e.g. `<1-5>*' matches 1, 2, 3, 4, + 5, 17, 23skiddoo, 5986, etc., but not 6, 7, 8ball, 911, etc. + +Parameter and expansion changes: + - expansion of ~ and other globbing flags via ${~param} do not depend + upon EXTENDED_GLOB (bug fix). + - nested parameter substitutions require braces (this was always the + documented behavior, but previous parsers didn't enforce it). + - quote only nested expansion, e.g. ${(f)"$(<file)"} reads complete + `file', then splits lines into array. + +Builtin and function changes: + - `typeset -U' works on the colon-array version of linked parameters. + - `typeset +f' and `functions +' output the names (only) of functions. + - `emulate -L' has the effect of `setopt localoptions'. + - in fn1() { local foo; unset foo; foo=bar; }, foo is restored at local + level, whereas if the `unset foo' appeared in a nested function it + would have been restored at global level, which was presumably wrong. + - `foo=bar >&file' is a redirection, not a NULLCMD. + - any single complex command, such as `case ... esac', parses as if + semicolon-terminated (bug fix). + - the shell function `preexec', if defined, is run after parsing each + command line but before executing the command. + +Other changes: + - the option PRINT_EIGHT_BIT causes zsh to emit raw bytes in prompts + and completion lists even if the system ctype(3) package says that + those bytes are not "printable." + +Debugging enhancements: + - LINENO is now very much more useful in scripts and functions and is + reported correctly in most error messages. + - ERREXIT behavior is now consistent with newer Bourne-like shells, + e.g. with respect to `if' tests that fail. Configuration changes: - Large file and 64-bit integers on 32-bit machines supported where provided by OS. - - generation of signal names should be more reliable - - Customizable installation of shell functions from distribution. + - a few more system features, such as getpwnam/getpwuid, are tested for. New features in zsh version 3.1 (beta version) |