Mail Archives: cygwin/2016/12/20/11:25:49
X-Recipient: | archive-cygwin AT delorie DOT com
|
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
|
| :list-unsubscribe:list-subscribe:list-archive:list-post
|
| :list-help:sender:reply-to:date:from:to:subject:message-id
|
| :mime-version:content-type; q=dns; s=default; b=wxru63YeyGPjHNZ/
|
| oO+RChPt+iQxdL6e8ZV5yVkWZfskMVhUlMRpQfFBJsi8Pw6GHMhHA11EGCmanlf3
|
| jOtimbc1HStHXG07sPdlkUJUFXO7wMG0J+vnAho7NFIVx2ClG2TZf+x5taWVzF5P
|
| Zjwtx8Ql1J7lw69onwdgbew51mw=
|
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
|
| :list-unsubscribe:list-subscribe:list-archive:list-post
|
| :list-help:sender:reply-to:date:from:to:subject:message-id
|
| :mime-version:content-type; s=default; bh=8WZVusLl2EopxmmkVtTTak
|
| DGtRg=; b=IDoEqKSIehALjSlUGcMWioG4f1dBJFb/+bhXHkqNmRpyDVzQfX/CwN
|
| iZ6OjXcWvHzWALXehx1wytrAroc8wC4tbSaAgYTzjFI3dUoohHdL6fK2PoROVdAi
|
| L2KQixwo8c+r20Nn7yUpiq23o7DFYc+rdqUkAuyxaqPYXO2h7wHyE=
|
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm
|
List-Id: | <cygwin.cygwin.com>
|
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com>
|
List-Archive: | <http://sourceware.org/ml/cygwin/>
|
List-Post: | <mailto:cygwin AT cygwin DOT com>
|
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
|
Sender: | cygwin-owner AT cygwin DOT com
|
Mail-Followup-To: | cygwin AT cygwin DOT com
|
Delivered-To: | mailing list cygwin AT cygwin DOT com
|
Authentication-Results: | sourceware.org; auth=none
|
X-Virus-Found: | No
|
X-Spam-SWARE-Status: | No, score=3.6 required=5.0 tests=ALL_TRUSTED,BAYES_50,DATE_IN_PAST_12_24,KAM_ASCII_DIVIDERS,UNSUBSCRIBE_BODY autolearn=no version=3.3.2 spammy=yourdomaincom, yourdomain.com, dating, Enter
|
X-HELO: | localhost.localdomain
|
Reply-To: | cygwin AT cygwin DOT com
|
Authentication-Results: | sourceware.org; auth=none
|
X-Virus-Found: | No
|
Date: | Mon, 19 Dec 2016 12:51:29 -0800 (PST)
|
From: | "Peter A. Castro" <doctor AT fruitbat DOT org>
|
To: | cygwin AT cygwin DOT com
|
Subject: | [ANNOUNCEMENT] Updated: zsh-5.3-1
|
Message-Id: | <announce.alpine.LNX.2.00.1612191048370.6490@ming.fruitbat.org>
|
User-Agent: | Alpine 2.00 (LNX 1167 2008-08-23)
|
MIME-Version: | 1.0
|
X-IsSubscribed: | yes
|
An updated version of zsh (zsh-5.3-1) has been released and should be
at a mirror near you real soon. This is an upstream release.
NOTICE:
=======
Version 5.3 has just been released for both 32-bit and 64-bit Cygwin.
(Version 5.2 was skipped for stability reasons, but the change/release
info included for history).
NEWS:
=====
(From the release notes: http://zsh.sourceforge.net/releases.html)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Changes between versions 5.2 and 5.3
Incompatibilities
* In character classes delimited by "[" and "]" within patterns,
whether used for filename generation (globbing) or other forms of
pattern matching, it used not to be possible to quote "-" when used
for a range, or "^" and "!" when used for negating a character set.
The characters can now be quoted by any of the standard shell
means, but note that the "[" and "]" must not be quoted. For
example,
[[ $a = ['a-z'] ]]
matches if the variable a contains just one of the characters "a",
"-" or "z" only. Previously this would have matched any lower case
ASCII letter. Note therefore the useful fact that
[[ $a = ["$cset"] ]]
matches any character contained in the variable "cset". A
consequence of this change is that variables that should have
active ranges need (with default zsh options) to be indicated
explicitly, e.g.
cset="a-z"
[[ b = [${~cset}] ]]
The "~" causes the "-" character to be active. In sh emulation the
"~" is unncessary in this example and double quotes must be used to
suppress the range behaviour of the "-".
* The first argument to 'repeat' is now evaluated as an arithmetic
expression. It was always documented to be an arithmetic
expression, but until now the decimal integer at the start of the
value was used and the remainder of the value discarded. This could
lead to different behaviour if the argument contains non-numeric
characters, or if the argument has leading zeroes and the
OCTAL_ZEROES option is set.
* For some time the shell has had a POSIX_TRAPS option which
determines whether the EXIT trap has POSIX behaviour (the trap is
only run at shell exit) or traditional zsh behaviour (the trap is
run once and discarded when the enclosing fuction or shell exits,
whichever happens first). The use of this option has now been made
"sticky" on the EXIT trap --- in other words, the setting of the
option at the point where the trap is set now determines whether
the trap has POSIX or traditional zsh behaviour. This means that
changing the option after the trap was set no longer has any
effect.
Other aspects of EXIT trap handling have not changed --- there is
still only one EXIT trap at any point in a programme, so it is not
generally useful to combine POSIX and non-POSIX behaviour in the
same script.
* There was an undocumented feature dating from the early days of zsh
that glob qualifiers consisting only of the digits 0 to 7 were
treated as an octal file mode to "and" with the modes of files
being tested. This has been removed in order to be more sensitive
to syntax errors. The "f" qualifier has for many years been the
documented way of testing file modes; it allows the "and" test
("*(f+1)" is the documented equivalent of "*(1)") as well as many
other forms.
* The completion helper function _arguments now escapes both
backslashes and colons in the values of option arguments when
populating the $opt_args associative array. Previously, colons were
escaped with a backslash but backslashes were not themselves
escaped with a backslash, which lead to ambiguity: '-x foo\:bar'
(one argument with a backslashed colon) and '-x foo\\ bar' (two
arguments, and the first one ends in a backslash) would both set
$opt_args[-x] to the same value. This example assumes the -x
option's spec declared two arguments, as in:
_arguments : -x:foo:${action}:bar:$action
For the more common case of non-repeatable options that take a
single argument, completion functions now have to unescape not only
colons but also backslashes when obtaining the option's argument
from $opt_args.
* Previously, if the function command_not_found_handler was run in
place of a command-not-found error, and the function returned
non-zero status, zsh set the status to 127 and printed an error
message anyway. Now, the status from the handler is retained and no
additional message is printed. The main reasons for this change are
that it was not possible to return a non-zero status to the parent
shell from a command executed as a replacement, and the new
implementation is more consistent with other shells.
* The output of "typeset -p" (and synonyms) now takes into account
the function scope and export state of each parameter. Exported
parameters are output as "export" commands unless the parameter is
also local, and other parameters not local to the scope are output
with the "-g" option. Previously, only "typeset" commands were
output, never using "-g".
* At spelling-correction prompt ($SPROMPT), where the choices offered
are [nyae], previously <Enter> would be accepted to mean [N] and
<Space> and <Tab> would be accepted to mean [Y]. Now <Space> and
<Tab> are invalid choices: typing either of them remains at the
prompt.
* The $ary[i,j] subscript syntax to take a slice of an array behaves
differently when both i and j are larger than the number of
elements in the array. When i == j, such a slice always yields an
empty array, and when i < j it always yields an array of one empty
string element. The following example illustrates how this differs
from past versions.
nargs() { print $# }
a=(one two)
for i in 1 2 3 4; do
for j in 1 2 3 4 5; do
print -n "$i $j => "
nargs "${(@)a[i,j]}"
done
done
5.2 | 5.3 **
----------+----------
1 1 => 1 | 1 1 => 1
1 2 => 2 | 1 2 => 2
1 3 => 2 | 1 3 => 2
1 4 => 2 | 1 4 => 2
1 5 => 2 | 1 5 => 2
2 1 => 0 | 2 1 => 0
2 2 => 1 | 2 2 => 1
2 3 => 1 | 2 3 => 1
2 4 => 1 | 2 4 => 1
2 5 => 1 | 2 5 => 1
3 1 => 0 | 3 1 => 0
3 2 => 0 | 3 2 => 0
3 3 => 0 | 3 3 => 0
3 4 => 0 | 3 4 => 1 **
3 5 => 0 | 3 5 => 1 **
4 1 => 0 | 4 1 => 0
4 2 => 0 | 4 2 => 0
4 3 => 0 | 4 3 => 0
4 4 => 1 | 4 4 => 0 **
4 5 => 1 | 4 5 => 1
Changes
* It is possible to enable character width support for Unicode 9 by
configuring with `--enable-unicode9'; this compiles in some
additional tables. At some point this support may move into a
module, in which case the configure option will be changed to cause
the module to be permanently loaded. This option is not useful
unless your terminal also supports Unicode 9.
* The new word modifier ':P' computes the physical path of the
argument. It is different from the existing ':a' modifier which
always resolves '/before/here/../after' to '/before/after', and
differs from the existing ':A' modifier which resolves symlinks
only after 'here/..' is removed, even when /before/here is itself a
symbolic link. It is recommended to review uses of ':A' and, if
appropriate, convert them to ':P' as soon as compatibility with 5.2
is no longer a requirement.
* The output of "typeset -p" uses "export" commands or the "-g"
option for parameters that are not local to the current scope.
Previously, all output was in the form of "typeset" commands, never
using "-g".
* vi-repeat-change can repeat user-defined widgets if the widget
calls zle -f vichange.
* The parameter $registers now makes the contents of vi register
buffers available to user-defined widgets.
* New vi-up-case and vi-down-case builtin widgets bound to gU/gu (or
U/u in visual mode) for doing case conversion.
* A new select-word-match function provides vim-style text objects
with configurable word boundaries using the existing
match-words-by-style mechanism.
* Support for the conditional expression [[ -v var ]] to test if a
variable is set for compatibility with other shells.
* The print and printf builtins have a new option -v to assign the
output to a variable. This is for bash compatibility but with the
additional feature that, for an array, a separate element is used
each time the format is reused.
* New x: syntax in completion match specifications make it possible
to disable match specifications hardcoded in completion functions.
Changes between versions 5.1.1 and 5.2
Incompatibilities
The behaviour of the parameter flag (P) has changed when it appears in
a nested parameter group, in order to make it more useful in such
cases. A (P) in the outermost parameter group behaves as before.
Changes
* The new module zsh/param/private can be loaded to allow the shell
to define parameters that are private to a function scope (i.e. are
not propagated to nested functions called within this function).
* The parameter flag ${(P)...} is now more useful when it appears in
a nested expansion. For example,
typeset -A assoc=(one un two deux three trois)
name=assoc
print ${${(P)name}[one]}
now prints "un". In previous versions of the shell the value of the
substitution was fully expanded on return from ${(P)name}, making
associative array subscripting difficult. As a side effect, flags
for formatting appearing in the inner substitution now affect the
substitution of the name (into "assoc" in this case), which is not
normally useful: flags that should apply to the value must be in
the outer substitution.
* The GLOB_STAR_SHORT option allows the pattern **/* to be shortened
to just ** if no / follows. so **.c searches recursively for a file
whose name has the suffix ".c".
* The effect of the WARN_CREATE_GLOBAL option has been significantly
extended, so expect it to cause additional warning messages about
parameters created globally within function scope.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
See ChangeLogs for full details.
ChangeLogs:
http://www.fruitbat.org/Cygwin/zsh/ChangeLog-5.3
http://www.fruitbat.org/Cygwin/zsh/ChangeLog-5.2
Homepage:
http://www.zsh.org
DESCRIPTION:
============
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.
UPDATE:
=======
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).
DOWNLOAD:
=========
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:
http://cygwin.com/mirrors.html
QUESTIONS:
==========
If you want to make a point or ask a question the Cygwin mailing list is
the appropriate place.
CYGWIN-ANNOUNCE UNSUBSCRIBE INFO:
=================================
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:
http://sourceware.org/lists.html#unsubscribe-simple
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
- Raw text -