1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-01-31 03:04:49 +01:00

25893: rescind advice to use m:{[:lower:]}={[:upper:]} matcher for now

This commit is contained in:
Peter Stephenson 2008-10-14 12:59:03 +00:00
parent 430e54ddc4
commit 1f0f5b8e62
2 changed files with 17 additions and 8 deletions

View file

@ -1,3 +1,10 @@
2008-10-14 Peter Stephenson <pws@csr.com>
* 25893: Doc/Zsh/compwid.yo: matcher "m:{a-z}={A-Z}" still
works better than "m:{[:lower:]}={[:upper:]}" in that the
latter can glitch on some multibyte characters with Meta in
(and doesn't yet work on non-ASCII characters anyway).
2008-10-12 Clint Adams <clint@zsh.org>
* 25860: Src/Zle/compmatch.c: avoid possible NULL dereferencing in

View file

@ -942,14 +942,16 @@ line match the corresponding upper case character in the trial
completion you can use `tt(m:{[:lower:]}={[:upper:]})'. Although the
matching system does not yet handle multibyte characters, this is likely
to be a future extension, at which point this syntax will handle
arbitrary alphabets; hence this form, rather than the use of explicit
ranges, is the recommended form. In other cases
`tt([:)var(name)tt(:])' forms are allowed. If the two forms on the left
and right are the same, the characters must match exactly. In remaining
cases, the corresponding tests are applied to both characters, but they
are not otherwise constrained; any matching character in one set goes
with any matching character in the other set: this is equivalent to the
behaviour of ordinary character classes.
arbitrary alphabets; until then it is safer to use the older syntax
that only handles ASCII characters, `tt(m:{a-z}={A-Z}) as this does
not have side effects in the case of multibyte characters.
In other cases `tt([:)var(name)tt(:])' forms are allowed. If the two forms
on the left and right are the same, the characters must match exactly. In
remaining cases, the corresponding tests are applied to both characters,
but they are not otherwise constrained; any matching character in one set
goes with any matching character in the other set: this is equivalent to
the behaviour of ordinary character classes.
The pattern var(tpat) may also be one or two stars, `tt(*)' or
`tt(**)'. This means that the pattern on the command line can match