Web lists-archives.com

[ANNOUNCEMENT] Updated: zsh-5.5.1-1

An updated version of zsh (zsh-5.5.1-1) has been released and should be at a mirror near you real soon. This is an upstream release.


Version 5.5.1 has just been released for both 32-bit and 64-bit Cygwin.
(Version 5.4* was skipped for stability reasons, but the change/release info included for history).


(From the release notes: http://zsh.sourceforge.net/releases.html)

Changes between versions 5.5 and 5.5.1

   Apart from a fix for a configuration problem finding signal names from
   (some) recent versions of glibc, there are only minor changes.

Changes between versions 5.4.2 and 5.5


     * The default build-time maximum nested function depth has been
       decreased from 1000 to 500 based on user experience. However, it
       can now be changed at run time via the variable FUNCNEST. If you
       previously configured the shell to set a different value, or to
       remove the check, this is now reflected in the default value of the
     * The syntax

       can be used to set elements of arrays and associative arrays. In
       the unlikely event that you need to set an array by matching files
       using a pattern that starts with a character range followed by '=',
       you need to quote the '=', e.g.:

       This is only required for array values contained within
       parentheses; command line expansion for normal arguments has not
     * The syntax
[[ -o foo ]]

       where foo is not the name of a shell option (with optional
       underscores and optional "no" prefix) used to be treated as a
       syntax error, i.e., the enclosing command line or file were
       aborted. It now emits a warning and returns a non-zero exit code.
       For further details, see the documentation of the -o switch in the
       chapter "Conditional Expressions" in the zshmisc(1) manual.


     * The effect of the NO_INTERACTIVE_COMMENTS option extends into
       $(...) and `...` command substitutions when used on the command
       line. Previously, comments were always recognized within command
       substitutions unless the comment character "#" was disabled via
       reset of $histchars.
     * An alternative assignment syntax for indicating indices for arrays
       and keys for associative arrays:
typeset -a array=([1]=first [2]=second)
typeset -A assoc=([key1]=val1 [key2]=val2)

       is allowed for compatibility with other shells. In the case of
       normal arrays the new syntax can be mixed with the old.

Changes between versions 5.3.1 and 5.4.1


     * The default behaviour of code like the following has changed:
  alias foo='noglob foo'
  foo() { print function body; }

       When this is encountered in a start-up file, or other place where
       input was read line by line, "foo" is in command position and is
       expanded as an alias before the function definition takes place. In
       previous versions of the shell, this caused two functions "noglob"
       and "foo" to be defined. Any expansion of an alias in a function
       definition is nearly always an unintended effect, as well as hard
       to detect, so has been made an error. (The option setting
       NO_MULTI_FUNC_DEF turned this case into an error, but did not help
       with other cases and is off by default.) The alternative, of not
       expanding the alias, was rejected as it was more difficult to
       achieve in the parser and also would silently change the shell's
       behaviur between versions. A new option, ALIAS_FUNC_DEF, has been
       added, which can be set to make the shell behave as in previous
       versions. It is in any case recommended to use the "function"
       keyword, as aliases are not expanded afterwards.
     * It was an undocumented, and largely useless, feature that a
       function autoloaded with an absolute path was searched for along
       the normal fpath (as if the leading / was missing) and, if found,
       loaded under the full name including the leading slash. This has
       been replaced with the more useful feature that the function is
       searched for only at the given absolute path; the name of the
       function is the base name of the file. Note that functions
       including a non-leading / behave as before, e.g. if `dir/name' is
       found anywhere under a directory in $fpath it is loaded as a
       function named `dir/name'.
     * vcs_info: When neither a set-patch-format nor a gen-applied-string
       (resp. gen-unapplied-string) hook is set, vcs_info now '%'-escapes
       the applied-string (resp. unapplied-string) before interpolating it
       into the patch-format string, to prevent literal `%' signs in the
       interpolated value from being interpreted as prompt escape
       sequences. If you use ${vcs_info_msg_0_} in a context other than
       the shell prompt, you may need to undo the escaping with:
    print -v vcs_info_msg_0_ -Pr -- "${vcs_info_msg_0_}"

       This is also needed if $vcs_info_msg_0_ is used to set $psvar.
     * functions executed by ZLE widgets no longer have their standard
       input closed, but redirected from /dev/null instead. That still
       guards against user defined widgets inadvertently reading from the
       tty device, and addresses the antisocial behaviour of running a
       command with its stdin closed.


     * The 'exec' and 'command' precommand modifiers, and options to them,
       are now parsed after parameter expansion. Previously, both the
       modifier and any options to it were parsed between alias expansion
       and parameter expansion (see zshexpn(1)), so they could neither be
       quoted nor be the result of parameter expansion. Examples:
       's=command; $s -V ls' and '\command -V ls' now work as expected.
     * Functions executed by ZLE widgets no longer have their standard
       input closed, but redirected from /dev/null instead. That still
       guards against user defined widgets inadvertently reading from the
       tty device.
     * There is an option WARN_NESTED_VAR, a companion to the existing
       WARN_CREATE_GLOBAL that causes a warning if a function updates a
       variable from an enclosing scope without using typeset -g. It can
       be turned on for an individual function with "functions -W".
     * zmodload now has an option -s to be silent on a failure to find a
       module but still print other errors.

Changes between versions 5.3 and 5.3.1

     * Fix handling of "printf -" and "printf --".
     * Minor completion fixes for FreeBSD (sysctl, chflags).


See ChangeLogs for full details.


Zsh is a UNIX command interpreter (shell) usable as an interactive login
shell and as a shell script command processor.  Of the standard shells,
zsh most closely resembles `ksh' but includes many enhancements.  Zsh has
command line editing, builtin spelling correction, programmable command
completion, shell functions (with autoloading), a history mechanism, and
a host of other features.

To update your installation, click on the "Install Cygwin now" link on the
http://cygwin.com/ web page.  This downloads setup.exe to your system.
Save it and run setup, answer the questions and pick up 'zsh' in the
'Shell' category (you will have select it).

Note that downloads from sources.redhat.com (aka cygwin.com) aren't
allowed due to bandwidth limitations.  This means that you will need to
find a mirror which has this update, please choose the one nearest to you:

If you want to make a point or ask a question the Cygwin mailing list is
the appropriate place.

To unsubscribe from the cygwin-announce mailing list, look at the
"List-Unsubscribe: " tag in the email header of this message.  Send email
to the address specified there.  It will be in the format:

cygwin-announce-unsubscribe-YOU=YOURDOMAIN.COM at cygwin.com

If you need more information on unsubscribing, start reading here:


Please read *all* of the information on unsubscribing that is available
starting at that URL.

--=> Peter A. Castro
Email: doctor at fruitbat dot org / Peter dot Castro at oracle dot com
	"Cats are just autistic Dogs" -- Dr. Tony Attwood

Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple