36977: note about difficulties of pattern repetitions

This commit is contained in:
Peter Stephenson 2015-10-27 10:58:39 +00:00
parent d45a68c546
commit 63fd71f171
2 changed files with 13 additions and 0 deletions

View File

@ -1,5 +1,8 @@
2015-10-27 Peter Stephenson <p.stephenson@samsung.com>
* 36977: Doc/Zsh/expn.yo: note about complications of pattern
repetitions (#cN).
* 36974: Src/Modules/zftp.c, Src/Zle/complist.c,
Src/Zle/computil.c, Src/Zle/zle_thingy.c, Src/parse.c: fix empty
argument lists.

View File

@ -2192,6 +2192,16 @@ inclusive. The form tt(LPAR()#c)var(N)tt(RPAR()) requires exactly tt(N)
matches; tt(LPAR()#c,)var(M)tt(RPAR()) is equivalent to specifying var(N)
as 0; tt(LPAR()#c)var(N)tt(,RPAR()) specifies that there is no maximum
limit on the number of matches.
Note that if the previous group of characters contains wildcards,
results can be unpredictable to the point of being logically incorrect.
It is recommended that the pattern be trimmed to match the minimum
possible. For example, to match a string of the form `tt(1_2_3_)', use
a pattern of the form `tt(LPAR()[[:digit:]]##_+RPAR()LPAR()#c3+RPAR())', not
`tt(LPAR()*_+RPAR()LPAR()#c3+RPAR())'. This arises from the
complicated interaction between attempts to match a number of
repetitions of the whole pattern and attempts to match the wildcard
`tt(*)'.
)
vindex(MATCH)
vindex(MBEGIN)