This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add svt_local slot to magic vtable, and fix local $shared
[perl5.git] / mg.h
diff --git a/mg.h b/mg.h
index 8f5644b..82c8855 100644 (file)
--- a/mg.h
+++ b/mg.h
@@ -20,6 +20,7 @@ struct mgvtbl {
     int                (CPERLscope(*svt_copy)) (pTHX_ SV *sv, MAGIC* mg,
                                        SV *nsv, const char *name, int namlen);
     int                (CPERLscope(*svt_dup))  (pTHX_ MAGIC *mg, CLONE_PARAMS *param);
+    int                (CPERLscope(*svt_local))(pTHX_ SV *nsv, MAGIC *mg);
 };
 #endif
 
@@ -38,8 +39,9 @@ struct magic {
 #define MGf_MINMATCH   1        /* PERL_MAGIC_regex_global only */
 #define MGf_REFCOUNTED 2
 #define MGf_GSKIP      4
-#define MGf_COPY       8
-#define MGf_DUP        16
+#define MGf_COPY       8       /* has an svt_copy  MGVTBL entry */
+#define MGf_DUP     0x10       /* has an svt_dup   MGVTBL entry */
+#define MGf_LOCAL   0x20       /* has an svt_local MGVTBL entry */
 
 #define MgTAINTEDDIR(mg)       (mg->mg_flags & MGf_TAINTEDDIR)
 #define MgTAINTEDDIR_on(mg)    (mg->mg_flags |= MGf_TAINTEDDIR)