Remove obsolete variables
authorKarl Williamson <khw@cpan.org>
Tue, 27 Mar 2018 21:56:30 +0000 (15:56 -0600)
committerKarl Williamson <khw@cpan.org>
Sat, 31 Mar 2018 21:36:46 +0000 (15:36 -0600)
These were for when some of the Posix character classes were implemented
as swashes, which is no longer the case, so these can be removed.

embedvar.h
handy.h
intrpvar.h
perl.c
sv.c
utf8.c

index 890a8b4..70d6406 100644 (file)
 #define PL_unsafe              (vTHX->Iunsafe)
 #define PL_utf8_foldclosures   (vTHX->Iutf8_foldclosures)
 #define PL_utf8_mark           (vTHX->Iutf8_mark)
-#define PL_utf8_swash_ptrs     (vTHX->Iutf8_swash_ptrs)
 #define PL_utf8cache           (vTHX->Iutf8cache)
 #define PL_utf8locale          (vTHX->Iutf8locale)
 #define PL_warn_locale         (vTHX->Iwarn_locale)
diff --git a/handy.h b/handy.h
index b098d51..9ba05de 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -1125,7 +1125,13 @@ patched there.  The file as of this writing is cpan/Devel-PPPort/parts/inc/misc
  *
  * The first group of these is ordered in what I (khw) estimate to be the
  * frequency of their use.  This gives a slight edge to exiting a loop earlier
- * (in reginclass() in regexec.c) */
+ * (in reginclass() in regexec.c).  Except \v should be last, as it isn't a
+ * real Posix character class, and some (small) inefficiencies in regular
+ * expression handling would be introduced by putting it in the middle of those
+ * that are.  Also, cntrl and ascii come after the others as it may be useful
+ * to group these which have no members that match above Latin1, (or above
+ * ASCII in the latter case) */
+
 #  define _CC_WORDCHAR           0      /* \w and [:word:] */
 #  define _CC_DIGIT              1      /* \d and [:digit:] */
 #  define _CC_ALPHA              2      /* [:alpha:] */
@@ -1136,17 +1142,6 @@ patched there.  The file as of this writing is cpan/Devel-PPPort/parts/inc/misc
 #  define _CC_ALPHANUMERIC       7      /* [:alnum:] */
 #  define _CC_GRAPH              8      /* [:graph:] */
 #  define _CC_CASED              9      /* [:lower:] or [:upper:] under /i */
-
-#define _FIRST_NON_SWASH_CC     10
-/* The character classes above are implemented with swashes.  The second group
- * (just below) contains the ones implemented without.  These are also sorted
- * in rough order of the frequency of their use, except that \v should be last,
- * as it isn't a real Posix character class, and some (small) inefficiencies in
- * regular expression handling would be introduced by putting it in the middle
- * of those that are.  Also, cntrl and ascii come after the others as it may be
- * useful to group these which have no members that match above Latin1, (or
- * above ASCII in the latter case) */
-
 #  define _CC_SPACE             10      /* \s, [:space:] */
 #  define _CC_PSXSPC            _CC_SPACE   /* XXX Temporary, can be removed
                                                when the deprecated isFOO_utf8()
@@ -1213,7 +1208,6 @@ typedef enum {
 } _char_class_number;
 #endif
 
-#define POSIX_SWASH_COUNT _FIRST_NON_SWASH_CC
 #define POSIX_CC_COUNT    (_HIGHEST_REGCOMP_DOT_H_SYNC + 1)
 
 START_EXTERN_C
index a05e847..1dfc603 100644 (file)
@@ -645,7 +645,6 @@ PERLVAR(I, InBitmap,        SV *)
 
 /* utf8 character class swashes */
 PERLVAR(I, utf8_mark,  SV *)
-PERLVARA(I, utf8_swash_ptrs, POSIX_SWASH_COUNT, SV *)
 PERLVAR(I, seen_deprecated_macro, HV *)
 
 PERLVAR(I, last_swash_hv, HV *)
diff --git a/perl.c b/perl.c
index ff66b4e..2a3df3d 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -1205,10 +1205,6 @@ perl_destruct(pTHXx)
     }
 
     /* clear character classes  */
-    for (i = 0; i < POSIX_SWASH_COUNT; i++) {
-        SvREFCNT_dec(PL_utf8_swash_ptrs[i]);
-        PL_utf8_swash_ptrs[i] = NULL;
-    }
     SvREFCNT_dec(PL_utf8_mark);
     SvREFCNT_dec(PL_utf8_foldclosures);
     SvREFCNT_dec(PL_InBitmap);
diff --git a/sv.c b/sv.c
index 54a4508..d38ccdc 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -15587,9 +15587,6 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
     PL_InBitmap         = sv_dup_inc(proto_perl->IInBitmap, param);
 
     /* utf8 character class swashes */
-    for (i = 0; i < POSIX_SWASH_COUNT; i++) {
-        PL_utf8_swash_ptrs[i] = sv_dup_inc(proto_perl->Iutf8_swash_ptrs[i], param);
-    }
     PL_seen_deprecated_macro = hv_dup_inc(proto_perl->Iseen_deprecated_macro, param);
     PL_utf8_mark       = sv_dup_inc(proto_perl->Iutf8_mark, param);
 
diff --git a/utf8.c b/utf8.c
index f83280f..5e62592 100644 (file)
--- a/utf8.c
+++ b/utf8.c
@@ -3408,8 +3408,6 @@ Perl__is_utf8_FOO_with_len(pTHX_ const U8 classnum, const U8 *p,
 {
     PERL_ARGS_ASSERT__IS_UTF8_FOO_WITH_LEN;
 
-    assert(classnum < _FIRST_NON_SWASH_CC);
-
     return is_utf8_common_with_len(p, e, NULL,
                                    "This is buggy if this gets used",
                                    PL_XPosix_ptrs[classnum]);