summaryrefslogtreecommitdiff
path: root/Doc/Zsh/expn.yo
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/Zsh/expn.yo')
-rw-r--r--Doc/Zsh/expn.yo24
1 files changed, 13 insertions, 11 deletions
diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo
index 8728803e0..85191edeb 100644
--- a/Doc/Zsh/expn.yo
+++ b/Doc/Zsh/expn.yo
@@ -943,7 +943,7 @@ item(tt(F))(
Join the words of arrays together using newline as a separator.
This is a shorthand for `tt(pj:\n:)'.
)
-item(tt(g:opts:))(
+item(tt(g:)var(opts)tt(:))(
Process escape sequences like the echo builtin when no options are given
(tt(g::)). With the tt(o) option, octal escapes don't take a leading
zero. With the tt(c) option, sequences like `tt(^X)' are also processed.
@@ -1168,11 +1168,11 @@ optional; neither, the first, or both may be given. Note that the same
pairs of delimiters must be used for each of the three arguments. The
space to the left will be filled with var(string1) (concatenated as
often as needed) or spaces if var(string1) is not given. If both
-var(string1) and var(string2) are given, tt(string2) is inserted once
+var(string1) and var(string2) are given, var(string2) is inserted once
directly to the left of each word, truncated if necessary, before
var(string1) is used to produce any remaining padding.
-If either of var(string1) or tt(string2) is present but empty,
+If either of var(string1) or var(string2) is present but empty,
i.e. there are two delimiters together at that point, the first
character of tt($IFS) is used instead.
@@ -1230,7 +1230,7 @@ example(line="one::three"
print -l "${(s.:.)line}")
produces two lines of output for tt(one) and tt(three) and elides the
-empty field. To override this behaviour, supply the "(@)" flag as well,
+empty field. To override this behaviour, supply the `tt((@))' flag as well,
i.e. tt("${(@s.:.)line}").
)
item(tt(Z:)var(opts)tt(:))(
@@ -1314,14 +1314,14 @@ enditem()
subsect(Rules)
Here is a summary of the rules for substitution; this assumes that braces
-are present around the substitution, i.e. tt(${...}). Some particular
+are present around the substitution, i.e. tt(${)var(...)tt(}). Some particular
examples are given below. Note that the Zsh Development Group accepts
em(no responsibility) for any brain damage which may occur during the
reading of the following rules.
startitem()
item(tt(1.) em(Nested substitution))(
-If multiple nested tt(${...}) forms are present, substitution is
+If multiple nested tt(${)var(...)tt(}) forms are present, substitution is
performed from the inside outwards. At each level, the substitution takes
account of whether the current value is a scalar or an array, whether the
whole substitution is in double quotes, and what flags are supplied to the
@@ -2233,7 +2233,7 @@ tt(readme) with up to two errors.
When using the ksh syntax for grouping both tt(KSH_GLOB) and
tt(EXTENDED_GLOB) must be set and the left parenthesis should be
preceded by tt(@). Note also that the flags do not affect letters
-inside tt([...]) groups, in other words tt(LPAR()#i)tt(RPAR()[a-z])
+inside tt([)...tt(]) groups, in other words tt(LPAR()#i)tt(RPAR()[a-z])
still matches only lowercase letters. Finally, note that when
examining whole paths case-insensitively every directory must be
searched for all files which match, so that a pattern of the form
@@ -2344,7 +2344,8 @@ the glob pattern by doubling the parentheses, in this case producing
`tt(((^x)))'.
If the option tt(EXTENDED_GLOB) is set, a different syntax for glob
-qualifiers is available, namely `tt((#qx))' where tt(x) is any of the same
+qualifiers is available, namely `tt(LPAR()#q)var(x)tt(RPAR())'
+where var(x) is any of the same
glob qualifiers used in the other format. The qualifiers must still appear
at the end of the pattern. However, with this syntax multiple glob
qualifiers may be chained together. They are treated as a logical AND of
@@ -2357,7 +2358,7 @@ the pattern, for example `tt(*(#q*)(.))' will recognise executable regular
files if both options are set; however, mixed syntax should probably be
avoided for the sake of clarity. Note that within conditions using the
`tt([[)' form the presence of a parenthesised expression
-tt(LPAR()#q...+RPAR()) at the end of a string indicates that globbing
+tt(LPAR()#q)var(...)tt(RPAR()) at the end of a string indicates that globbing
should be performed; the expression may include glob qualifiers, but
it is also valid if it is simply tt(LPAR()#q+RPAR()). This does
not apply to the right hand side of pattern match operators as the
@@ -2694,14 +2695,15 @@ whole list matches if at least one of the sublists matches (they are
however, affect all matches generated, independent of the sublist in
which they are given. These are the qualifiers `tt(M)', `tt(T)',
`tt(N)', `tt(D)', `tt(n)', `tt(o)', `tt(O)' and the subscripts given
-in brackets (`tt([...])').
+in brackets (`tt([)var(...)tt(])').
If a `tt(:)' appears in a qualifier list, the remainder of the expression in
parenthesis is interpreted as a modifier (see noderef(Modifiers)
in noderef(History Expansion)). Each modifier must be introduced by a
separate `tt(:)'. Note also that the result after modification does not
have to be an existing file. The name of any existing file can be followed
-by a modifier of the form `tt((:..))' even if no actual filename generation
+by a modifier of the form `tt(LPAR():)var(...)tt(RPAR())'
+even if no actual filename generation
is performed, although note that the presence of the parentheses
causes the entire expression to be subjected to any global pattern matching
options such as tt(NULL_GLOB). Thus: