summaryrefslogtreecommitdiff
path: root/regcomp.sym
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2011-01-13 21:12:21 -0700
committerKarl Williamson <public@khwilliamson.com>2011-01-13 22:55:53 -0700
commit0e019ad6e74196f697d451c846c4af8778bd2a51 (patch)
tree51445fada908ba6f355f1fbfe663045a384c996b /regcomp.sym
parentd5788240aa1a05e95b12adb94ecd93e56e339e38 (diff)
downloadperl-0e019ad6e74196f697d451c846c4af8778bd2a51.tar.gz
regcomp.sym: Add ANYOFV node
This node is like a straight ANYOF node to match [bracketed character classes], but can match multiple characters; in particular it can match a multi-char fold. When multi-char Unicode folding was added to Perl, it was overlooked that the ANYOF node is supposed to match exactly one character, hence there have been bugs ever since. Adding a specialized node that can match multiple chars, these can be fixed more easily. I tried at first to make ANYOF match multiple chars, but this causes Perl to not be able to fully compile.
Diffstat (limited to 'regcomp.sym')
-rw-r--r--regcomp.sym3
1 files changed, 2 insertions, 1 deletions
diff --git a/regcomp.sym b/regcomp.sym
index 8eb293f7ca..3c9f97c674 100644
--- a/regcomp.sym
+++ b/regcomp.sym
@@ -41,7 +41,8 @@ GPOS GPOS, no ; Matches where last m//g left off.
REG_ANY REG_ANY, no 0 S ; Match any one character (except newline).
SANY REG_ANY, no 0 S ; Match any one character.
CANY REG_ANY, no 0 S ; Match any one byte.
-ANYOF ANYOF, sv 0 S ; Match character in (or not in) this class, folding is native charset for non-utf8.
+ANYOF ANYOF, sv 0 S ; Match character in (or not in) this class, single char match only
+ANYOFV ANYOF, sv 0 V ; Match character in (or not in) this class, can match-multiple chars
ALNUM ALNUM, no 0 S ; Match any alphanumeric character
ALNUML ALNUM, no 0 S ; Match any alphanumeric char in locale
NALNUM NALNUM, no 0 S ; Match any non-alphanumeric character