summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README34
1 files changed, 30 insertions, 4 deletions
diff --git a/README b/README
index 2e2ebce2b..6e5b73067 100644
--- a/README
+++ b/README
@@ -29,17 +29,43 @@ Zsh is a shell with lots of features. For a list of some of these, see the
file FEATURES, and for the latest changes see NEWS. For more
details, see the documentation.
-Incompatibilities between 5.1 and 5.2
+Incompatibilities between 5.2 and 5.3
-------------------------------------
+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 "-".
+
+Incompatibilities between 5.0.8 and 5.2
+---------------------------------------
+
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. See NEWS for more.
-Incompatibilities between 5.0.8 and 5.1
----------------------------------------
-
The default behaviour when text is pasted into an X Windows terminal has
changed significantly (unless you are using a very old terminal emulator
that doesn't support this mode). Now, the new "bracketed paste mode"