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/NEWS246
1 files changed, 246 insertions, 0 deletions
diff --git a/Etc/NEWS b/Etc/NEWS
index e4bafc08d..1d175c417 100644
--- a/Etc/NEWS
+++ b/Etc/NEWS
@@ -1,6 +1,252 @@
 -------------------------------------
 CHANGES FROM PREVIOUS VERSIONS OF ZSH
 -------------------------------------
+				     
+New features in zsh version 3.1.7
+---------------------------------
+Further enhancements to new completion system:
+ - Comprehensive context-sensitive configuration vai `styles', which
+   can be set by the menu-driven front end in compinstall.
+ - General mechanism for setting patterns to be ignored in a completion;
+   overriding  of patterns to be matched for functions
+ - New completers: _prefix to complete word before cursor, _ignored
+   to complete using words so far ignored (like $fignore but more
+   powerful), _history to complete words from shell history
+ - Multiple use of completers with different options, similalry splitting
+   of different types of completion (`tags') so they are considered with
+   different styles
+ - Many more supplied completions for standard commands which work out of
+   the box, and better handling of command line options/arguments which
+   behave in the usual way   
+ - $fpath now set up to use installed functions by default; functions
+   can be loaded just by `autoload -U compinit; compinit'
+ - Much improved handling of nested quoting
+ - New LIST_PACKED and LIST_ROWS_FIRST completion options and corresponding
+   styles
+ - compctl library separated out (frozen but still supported)
+ - User-friendly introduction available at zsh website
+   http://sunsite.auc.dk/zsh/
+
+Additions to complist listing library (coloured completion and menu
+selection):
+ - Listings can be shown page by page (are by default for new completion)
+ - Menu selection allows full up and down scrolling of long lists
+
+Other editing features:
+ - new parameters $PENDING, $MARK, $BUFFERLINES
+ - Easy display of a prompt from within an editing widget
+
+Code parsing, storing and execution:
+ - Completely new system of storing code internally, greatly optimised
+ - Much less memory for shell functions etc.
+ - Can compile shell functions to .zwc `wordcode' functions for fast
+   loading
+ - Can create `digest' files of entire directories in .zwc format
+
+Parameters:
+ - Floating point support added, similar to ksh93, `typeset -F' and
+   `typeset -E' declare floating point variables; usual C/Fortran-like
+   rules for integer/float conversion
+ - Mathematical library zsh/mathfunc contains all the standard mathematical
+   functions for use in arithmetical expressions
+ - Improved parsing of arithmetical expressions and better error messages
+ - Special parameters can be made local
+ - `typeset -h' hides specialness of parameters, either as parameter
+   attribute or when declaring new local variable
+ - Local parameters can now be exported as in other shells; new option
+   GLOBAL_EXPORTS on by default provides old behaviour that `typeset -x'
+   referred to global parameters.
+ - zsh/parameter module enhanced: now needed for new completion; parameters
+   provided have `-h' flag set so that they are hidden by `typeset', so
+   that existing functions don't need to be changed
+ - Quotes can be stripped from parameter values with ${(Q)...}, providing
+   reverse of ${(q...)...} facility
+
+Globbing and pattern matching:
+ - Pattern matching rewritten for efficiency
+ - Supports `backreferences', i.e. extracting parenthesised chunks of
+   matches, e.g.
+     [[ $foo = (#b)(*/)[^/]* ]]
+   stores the part of $foo up to the last / in $match[1] and the indexes of
+   the match in $mbegin[1], $mend[1].  (#m) is also availabel to set $MATCH
+   to the entire match and corresponding $MBEGIN, $MEND:  useful in
+   parameter substitutions like ${.../.../...}.
+ - (#s) and (#e) match start and end of pattern like ^ and $ in regular
+   expression, useful in complex expressions such as ((#s)|/)dirname((#e)|/)
+   and in parameter expressions.
+
+ - Depth-first/last listing of recursive glob lists
+
+Functions etc.:
+ - `autoload -X' inside a function body instructs the shell to
+   bootstrap the function at that point
+ - `autoload +X fn' says load the function fn but don't execute it
+ - Prompt `themes' make customization of prompts easier
+
+Modules:
+ - New hierarchical naming scheme for modules; supplied modules go into
+   zsh subdirectory, so zle becomes zsh/zle etc.; aliases supplied for
+   compatibility for existing code, but the new format should be used in
+   future.
+ - zmodload is more consistent between dynamicall and statically linked
+   shells
+ - zsh/zftp and its function suite support multiple sessions (zfsession
+   command); zftransfer allows transfer of files between two ftp sessions
+   with no local file; use styles for e.g. progress style; IPv6 supported;
+   recursive put `zfput -r' for uploads
+ - zsh/zpty module creates pseudoterminal and allows builtin `expect'-like
+   behaviour
+
+Other:
+ - Test suite, not yet complete (`make test')
+ - use of Linux task limits
+ - Many fixes including output redirection with `setopt xtrace' and
+   other redirection fixes; NIS+ problem.
+ - Better null-command behaviour in sh and csh emulation
+ - Internal memory usage optimisations
+
+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:
+ - ready-made function suite to use, see zshcompsys(1)
+ - approximate completion and spelling correction via completion
+ - control over matching for case-independence, partial word completion, etc.
+ - menu selection:  choose a completion by moving the cursor
+ - coloured completion lists
+ - completion of filenames in quotes is now more reliable; splitting
+   quoted strings into command arguments is also possible.
+
+Other editing changes:
+  - enhancements to function/editing interface:  new parameters, numeric
+    arguments, string argument passing, reading keys from widgets.
+  - the old history-search-{back,for}ward behaviour and bindings have
+    returned (up to minor details).
+  - BASH_AUTO_LIST option to show completion list only on second key press.
+  - the ZBEEP parameter gives a string to output instead of beeping,
+    allowing you to have a visual bell.
+
+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.  New format for history
+saves.
+
+Associative arrays plus enhanced parameter substitutions to retrieve keys
+and values.
+
+Globbing changes:
+  - Case-insensitive and approximate globbing.
+  - Ordering and indexing of globbing matches, e.g. *(om[1]) picks
+    most recently modified file.
+  - General file mode qualifier with chmod(1)-like syntax, e.g. *(f:u+wx:)
+
+New loadable modules:
+  - zftp, plus associated function suite, for turning your zsh session
+    into an FTP session too
+  - parameter, for examining and altering shell hash tables via an
+    associative array interface.
+  - mapfile, for reading and writing external files via an associative
+    array interface.
+
+Debugging and prompt enhancements:
+  - $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.
+  - %20(l.yes.no) in prompts prints yes if at least 20 characters have
+    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
+  - New expansions
+    - ${(t)param} prints type information for $param
+    - ${(P)param} treats value of $param as the name of a param to
+      substitute
+    - ${foo:q} can quote replaced parameter text from expansion
+    - ${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
+
+Builtin and function changes
+  - stat module: `stat -H hash foo' gives you e.g. $hash[mtime]
+  - `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 ~ (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.
+  - a few more system features, such as getpwnam/getpwuid, are tested for.
+
 
 New features in zsh version 3.1 (beta version)
 ----------------------------------------------