Updated: zsh-5.5.1-1

Peter A. Castro doctor@fruitbat.org
Wed May 9 21:45:00 GMT 2018

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

More information about the Cygwin-announce mailing list