regcomp.c: Remove extraneous debug info
authorKarl Williamson <public@khwilliamson.com>
Tue, 30 Jul 2013 17:27:20 +0000 (11:27 -0600)
committerKarl Williamson <public@khwilliamson.com>
Tue, 30 Jul 2013 18:05:48 +0000 (12:05 -0600)
Prior to this commit the prhase {unicode} was emitted to mark what a
bracketed character class matched that wasn't in that classes bitmap.
This was oftern accompanied by another phrase that gave further
details.  Since everything is {unicode}, the first phrase isn't very
helpful.  Now it is changed to {utf8} for those things that won't match
unless the target string is in utf8 (this includes some upper latin1
code points under /d matches), or {outside bitmap} for where utf8 isn't
necessasily required (this happens for user-defined Unicode properties
that aren't known at compile time).

regcomp.c

index 99c758e..8c7a6f8 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -14768,17 +14768,20 @@ Perl_regprop(pTHX_ const regexp *prog, SV *sv, const regnode *o)
         /* output information about the unicode matching */
        if (flags & ANYOF_UNICODE_ALL)
            sv_catpvs(sv, "{unicode_all}");
-       else if (ANYOF_NONBITMAP(o))
-           sv_catpvs(sv, "{unicode}");
-       if (flags & ANYOF_NONBITMAP_NON_UTF8)
-           sv_catpvs(sv, "{outside bitmap}");
+       else if (ANYOF_NONBITMAP(o)) {
+            SV *lv; /* Set if there is something outside the bit map. */
 
-       if (ANYOF_NONBITMAP(o)) {
-           SV *lv; /* Set if there is something outside the bit map */
+            if (flags & ANYOF_NONBITMAP_NON_UTF8) {
+                sv_catpvs(sv, "{outside bitmap}");
+            }
+            else {
+                sv_catpvs(sv, "{utf8}");
+            }
+
+            /* Get the stuff that wasn't in the bitmap */
            SV * const sw = regclass_swash(prog, o, FALSE, &lv, NULL);
             bool byte_output = FALSE;   /* If something in the bitmap has been
                                            output */
-
            if (lv && lv != &PL_sv_undef) {
                 char *s = savesvpv(lv);
                 char * const origs = s;