Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Zsh 3.0.8 and 3.1.9 released



Versions 3.0.8 and 3.1.9 of zsh have been released.  Zsh is an enhanced
UNIX shell, intended to be compatible with the Korn shell, with particular
emphasis on features for interactive use.

3.0 is the current stable production version.  3.0.8 consists mainly of bug
fixes, but there are a few user-visible changes to ease awkward features and
for improved configuration.

3.1 is still officially in beta.  However, it is hoped that it will provide
the basis of version 4.0 of the shell without any major new work.
Consequently sites likely to upgrade are encouraged to install this version
at least for the purposes of evaluation.  Major changes in this version
include continued development of the new completion system, internal
improvements in memory usage, enhancements to pattern matching, support for
floating point numbers with a library of floating point functions, and a
test suite.

There follows a more detailed list of changes in these versions of the
shell.  After that, the Meta-FAQ is appended.  This gives details of FTP
sites where the latest version can be found.  If you are reading this via a
web browser, you might want to go straight to http://www.zsh.org/ where
there is a list of FTP mirrors.

<coordinator@xxxxxxx>


New features in zsh version 3.1.8 and 3.1.9
-------------------------------------------
These are primarily bug-fix versions.  There are only a few user-visible
changes.  Note that the last announced version (last August) was 3.1.6.
 - Array slices ${array[a,b]} with b < a now correctly have zero length.

New features in zsh version 3.1.7
---------------------------------

Further enhancements to new completion system:
 - Comprehensive context-sensitive configuration via `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, similarly 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 and nested braces
 - 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 available 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 dynamically 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.0.8
---------------------------------

User-visible changes:
  - the "maxpthreads" limit is now recognized.
  - the token "%L" is recognized in prompts and expands to the current
    value of the SHLVL parameter.
  - parameter expansions using the ${(e)...} flag now obey quoting rules;
    in previous versions, such expansions always acted as if double-quoted.
  - ranges (e.g. [A-Z]) in file patterns are no longer locale-specific.

Configuration changes:
  - test for mknod() prototype.
  - more comprehensive signal name detection, copied from 3.1.6.
  - more comprehensive rlim_t type detection, copied from 3.1.7.
  - support additional hardware platforms in config.sub, from 3.1.6.
  - better detection of setlocale() support, and a switch to turn it off.
  - better detection of tgetstr() support, from 3.1.6 (as of 3.0.7).
  - use newer autoconf test for functions in libnsl (as of 3.0.7).

Otherwise, versions 3.0.7 and 3.0.8 provide bug fixes only.


------------------------
META-FAQ for the Z Shell
------------------------

The latest version of this META-FAQ can be found at any of the FTP sites
listed below.

Author
------

Zsh was originally written by Paul Falstad <pf@xxxxxxx>.
Zsh is now maintained by the members of the zsh-workers mailing
list <zsh-workers@xxxxxxxxxxxxxx>.  The development is currently
coordinated by Peter Stephenson <pws@xxxxxxx>.  The coordinator
can be contacted at <coordinator@xxxxxxx>, but matters relating to
the code should generally go to the mailing list.

Availability
------------

Zsh is available from the following anonymous FTP sites.  These mirror
sites are kept frequently up to date.  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.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/
            ftp://ftp.kappa.ro/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/

Mailing Lists
-------------

Zsh has 3 mailing lists:

      <zsh-announce@xxxxxxxxxxxxxx>
            Announcements about releases, major changes in the shell and the
            monthly posting of the Zsh FAQ.  (moderated)

      <zsh-users@xxxxxxxxxxxxxx>
            User discussions.

      <zsh-workers@xxxxxxxxxxxxxx>
            Hacking, development, bug reports and patches.

To subscribe or unsubscribe, send mail
to the associated administrative address for the mailing list.

      <zsh-announce-subscribe@xxxxxxxxxxxxxx>
      <zsh-users-subscribe@xxxxxxxxxxxxxx>
      <zsh-workers-subscribe@xxxxxxxxxxxxxx>

      <zsh-announce-unsubscribe@xxxxxxxxxxxxxx>
      <zsh-users-unsubscribe@xxxxxxxxxxxxxx>
      <zsh-workers-unsubscribe@xxxxxxxxxxxxxx>

YOU ONLY NEED TO JOIN ONE OF THE MAILING LISTS AS THEY ARE NESTED.
All submissions to zsh-announce are automatically forwarded to
zsh-users.  All submissions to zsh-users are automatically
forwarded to zsh-workers.

If you have problems subscribing/unsubscribing to any of the mailing
lists, send mail to <listmaster@xxxxxxx>.  The mailing lists are
maintained by Karsten Thygesen <karthy@xxxxxxxxxx>.

The mailing lists are archived; the archives can be accessed via the
administrative addresses listed above.  There is also a hypertext
archive, maintained by Geoff Wing <gcw@xxxxxxx>, available at
http://www.zsh.org/mla/.

The Zsh FAQ
-----------

Zsh has a list of Frequently Asked Questions (FAQ), maintained by
Peter Stephenson <pws@xxxxxxx>.  It is regularly posted to the
newsgroup comp.unix.shell and the zsh-announce mailing list.
The latest version can be found at any of the Zsh FTP sites, or at
http://www.zsh.org/FAQ/.  The contact address for FAQ-related matters
is <faqmaster@xxxxxxx>.

The Zsh Web Page
----------------

Zsh has a web page which is located at http://www.zsh.org/.  This is
maintained by Karsten Thygesen <karthy@xxxxxxx>, of SunSITE Denmark.
The contact address for web-related matters is <webmaster@xxxxxxx>.


The Zsh Userguide
-----------------

A userguide is currently in preparation.  It is intended to complement the
manual, with explanations and hints on issues where the manual can be
cabbalistic, hierographic, or downright mystifying (for example, the word
`hierographic' does not exist).  It can be viewed in its current state at
http://sunsite.auc.dk/zsh/Guide/.  As of this writing, chapters dealing
with startup files and their contents and the new completion system are
essentially complete.



Messages sorted by: Reverse Date, Date, Thread, Author