From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3149 invoked from network); 1 Aug 1999 13:51:00 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 1 Aug 1999 13:51:00 -0000 Received: (qmail 25195 invoked by alias); 1 Aug 1999 13:50:23 -0000 Mailing-List: contact zsh-announce-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 99 Received: (qmail 25126 invoked from network); 1 Aug 1999 13:49:51 -0000 Message-Id: <9908011318.AA42161@ibmth.df.unipi.it> To: zsh-announce@sunsite.auc.dk (Zsh announcements list) Subject: ANNOUNCE: zsh versions 3.0.6 and 3.1.6 released Date: Sun, 01 Aug 1999 15:18:50 +0200 From: Peter Stephenson [Apologies to zsh-users and zsh-workers readers: this should have gone to zsh-announce, not zsh-users, so you're getting it twice. Well, it's important news :-)] Versions 3.0.6 and 3.1.6 of zsh, the Z-Shell, have been released. 3.0.6 is a maintenance release of the current production version, and user-visible changes have been kept to a minimum; 3.1.6 is the latest development (beta) version. A diff file between 3.0.5 and 3.0.6 is available, however the number of changes between 3.1.5 and 3.1.6 means it is not useful in this case. A list of FTP archives is given at the end of this announcement. Please send any email regarding these releases to the maintainers' mailing list, zsh-workers@sunsite.auc.dk . The Z-Shell is a freely available UNIX command interpreter of the Bourne shell (sh) family, a close relative of the Korn shell (ksh). Its major claim to fame is the many additional features to make interactive use much more pleasant. Version 3.1.6's new function-based system for completing command line arguments takes this a step further. Below is a summary of new features in the two versions. Note that features listed as new to 3.0.6 are in the vast majority of cases new to 3.1.6 as well. Bart Schaefer (Version 3.0.6) Peter Stephenson (Version 3.1.6) New features in zsh version 3.1.6 (beta version) ------------------------------------------------ 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' 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. Zsh is available from the following anonymous FTP sites. These mirror sites are kept frequently up to date; please be patient if the latest changes have not reached your local mirror yet. The sites marked with (H) may be mirroring ftp.cs.elte.hu instead of the primary site. Primary site ftp://ftp.zsh.org/pub/zsh/ http://www.zsh.org/pub/zsh/ Australia ftp://ftp.zsh.org/pub/zsh/ http://www.zsh.org/pub/zsh/ ftp://ftp.ips.gov.au/pub/packages/zsh/ (H) Denmark ftp://sunsite.auc.dk/pub/unix/shells/zsh/ Finland ftp://ftp.funet.fi/pub/unix/shells/zsh/ France ftp://ftp.cenatls.cena.dgac.fr/pub/shells/zsh/ Germany ftp://ftp.fu-berlin.de/pub/unix/shells/zsh/ (H) ftp://ftp.gmd.de/packages/zsh/ ftp://ftp.uni-trier.de/pub/unix/shell/zsh/ Hungary ftp://ftp.cs.elte.hu/pub/zsh/ http://www.cs.elte.hu/pub/zsh/ ftp://ftp.kfki.hu/pub/packages/zsh/ Israel ftp://ftp.math.technion.ac.il/mirror/ftp.zsh.org/pub/zsh/ http://www.math.technion.ac.il/mirror/ftp.zsh.org/pub/zsh/ Italy ftp://ftp.unina.it/pub/Unix/pkgs/shell/zsh/ Japan ftp://ftp.tohoku.ac.jp/mirror/zsh/ (H) ftp://ftp.nisiq.net/pub/shells/zsh/ (H) ftp://ftp.win.ne.jp/pub/shell/zsh/ Norway ftp://ftp.uit.no/pub/unix/shells/zsh/ Poland ftp://sunsite.icm.edu.pl/pub/unix/shells/zsh/ Romania ftp://ftp.roedu.net/pub/mirrors/ftp.zsh.org/pub/zsh/ Slovenia ftp://ftp.siol.net/mirrors/zsh/ Sweden ftp://ftp.lysator.liu.se/pub/unix/zsh/ UK ftp://ftp.net.lut.ac.uk/zsh/ ftp://sunsite.org.uk/packages/zsh/ USA ftp://uiarchive.uiuc.edu/pub/packages/shells/zsh/ ftp://ftp.rge.com/pub/shells/zsh/ ftp://foad.org/pub/zsh/ http://foad.org/zsh/