This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regcomp.sym: ANYOF nodes have an argument
authorKarl Williamson <khw@cpan.org>
Tue, 16 Sep 2014 22:26:36 +0000 (16:26 -0600)
committerKarl Williamson <khw@cpan.org>
Mon, 29 Sep 2014 17:07:39 +0000 (11:07 -0600)
Plus a bitmap, but they always have an argument besides, contrary to
what was specified here.  Future commits rely on this, whereas
heretofore this error was harmless.

pod/perldebguts.pod
regcomp.sym
regnodes.h

index 54644d7..814949d 100644 (file)
@@ -591,7 +591,7 @@ will be lost.
  REG_ANY         no         Match any one character (except newline).
  SANY            no         Match any one character.
  CANY            no         Match any one byte.
- ANYOF           sv         Match character in (or not in) this class,
+ ANYOF           sv 1       Match character in (or not in) this class,
                             single char match only
 
  # POSIX Character Classes:
index 6908712..9301992 100644 (file)
@@ -57,7 +57,7 @@ NBOUNDA     NBOUND,     no        ; Match "" at any word non-boundary using ASCI
 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, single char match only
+ANYOF       ANYOF,      sv 1 S    ; Match character in (or not in) this class, single char match only
 
 #* POSIX Character Classes:
 # Order of the below is important.  See ordering comment above.
index ccec4d6..3feb312 100644 (file)
@@ -310,7 +310,7 @@ static const U8 regarglen[] = {
        0,                                      /* REG_ANY      */
        0,                                      /* SANY         */
        0,                                      /* CANY         */
-       0,                                      /* ANYOF        */
+       EXTRA_SIZE(struct regnode_1),           /* ANYOF        */
        0,                                      /* POSIXD       */
        0,                                      /* POSIXL       */
        0,                                      /* POSIXU       */