about summary refs log tree commit diff
path: root/Etc/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'Etc/NEWS')
-rw-r--r--Etc/NEWS86
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)