This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Abolish PL_vtbl_sig. It's been all 0s since it was added in 5.0 alpha 2.
authorNicholas Clark <nick@ccl4.org>
Fri, 13 May 2011 11:36:44 +0000 (12:36 +0100)
committerNicholas Clark <nick@ccl4.org>
Sat, 11 Jun 2011 08:12:17 +0000 (10:12 +0200)
Magic with a NULL vtable is equivalent to magic with a vtable of all 0s.
On CPAN, only Apache::Peek's code for 5.005 is referencing it.

XSUB.h
dump.c
globvar.sym
perl.h
pod/perlguts.pod
sv.c
util.c

diff --git a/XSUB.h b/XSUB.h
index a2cfccd..5b5e3c8 100644 (file)
--- a/XSUB.h
+++ b/XSUB.h
@@ -367,7 +367,6 @@ Rethrows a previously caught exception.  See L<perlguts/"Exception Handling">.
 #  define VTBL_sv              &PL_vtbl_sv
 #  define VTBL_env             &PL_vtbl_env
 #  define VTBL_envelem         &PL_vtbl_envelem
-#  define VTBL_sig             &PL_vtbl_sig
 #  define VTBL_sigelem         &PL_vtbl_sigelem
 #  define VTBL_pack            &PL_vtbl_pack
 #  define VTBL_packelem                &PL_vtbl_packelem
diff --git a/dump.c b/dump.c
index 273957a..66b6da5 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -1294,7 +1294,6 @@ Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, const MAGIC *mg, I32 nest, I32
            if      (v == &PL_vtbl_sv)         s = "sv";
             else if (v == &PL_vtbl_env)        s = "env";
             else if (v == &PL_vtbl_envelem)    s = "envelem";
-            else if (v == &PL_vtbl_sig)        s = "sig";
 #ifndef PERL_MICRO
             else if (v == &PL_vtbl_sigelem)    s = "sigelem";
 #endif
index 10ddaaf..d3e3b98 100644 (file)
@@ -65,7 +65,6 @@ vtbl_pos
 vtbl_regdata
 vtbl_regdatum
 vtbl_regexp
-vtbl_sig
 vtbl_sigelem
 vtbl_substr
 vtbl_sv
diff --git a/perl.h b/perl.h
index b946259..e0adc10 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -4807,7 +4807,6 @@ enum {            /* pass one of these to get_vtbl */
     want_vtbl_sv,
     want_vtbl_env,
     want_vtbl_envelem,
-    want_vtbl_sig,
     want_vtbl_sigelem,
     want_vtbl_pack,
     want_vtbl_packelem,
@@ -5173,18 +5172,6 @@ MGVTBL_SET(
     0
 );
 
-MGVTBL_SET(
-    PL_vtbl_sig,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
 #ifndef PERL_MICRO
 MGVTBL_SET(
     PL_vtbl_sigelem,
index e77d6b8..c5ba48e 100644 (file)
@@ -1060,7 +1060,7 @@ The current kinds of Magic Virtual Tables are:
     p  PERL_MAGIC_tiedelem       vtbl_packelem   Tied array or hash element
     q  PERL_MAGIC_tiedscalar     vtbl_packelem   Tied scalar or handle
     r  PERL_MAGIC_qr             vtbl_qr         precompiled qr// regex
-    S  PERL_MAGIC_sig            vtbl_sig        %SIG hash
+    S  PERL_MAGIC_sig            (none)          %SIG hash
     s  PERL_MAGIC_sigelem        vtbl_sigelem    %SIG hash element
     t  PERL_MAGIC_taint          vtbl_taint      Taintedness
     U  PERL_MAGIC_uvar           vtbl_uvar       Available for use by extensions
diff --git a/sv.c b/sv.c
index 0e18213..4b63ac8 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -5343,9 +5343,6 @@ Perl_sv_magic(pTHX_ register SV *const sv, SV *const obj, const int how,
     case PERL_MAGIC_qr:
        vtable = &PL_vtbl_regexp;
        break;
-    case PERL_MAGIC_sig:
-       vtable = &PL_vtbl_sig;
-       break;
 #ifndef PERL_MICRO
     case PERL_MAGIC_sigelem:
        vtable = &PL_vtbl_sigelem;
@@ -5360,6 +5357,7 @@ Perl_sv_magic(pTHX_ register SV *const sv, SV *const obj, const int how,
     case PERL_MAGIC_vec:
        vtable = &PL_vtbl_vec;
        break;
+    case PERL_MAGIC_sig:
     case PERL_MAGIC_arylen_p:
     case PERL_MAGIC_rhash:
     case PERL_MAGIC_symtab:
diff --git a/util.c b/util.c
index ee56089..7355d03 100644 (file)
--- a/util.c
+++ b/util.c
@@ -3749,9 +3749,6 @@ Perl_get_vtbl(pTHX_ int vtbl_id)
     case want_vtbl_envelem:
        result = &PL_vtbl_envelem;
        break;
-    case want_vtbl_sig:
-       result = &PL_vtbl_sig;
-       break;
 #ifndef PERL_MICRO
     case want_vtbl_sigelem:
        result = &PL_vtbl_sigelem;