This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add PERL_NO_GET_CONTEXT to dl_dlopen.xs
[perl5.git] / intrpvar.h
index 52e9711..32a013a 100644 (file)
@@ -25,7 +25,8 @@
 
 /* The 'I' prefix is only needed for vars that need appropriate #defines
  * generated when built with or without MULTIPLICITY.  It is also used
- * to generate the appropriate export list for win32.
+ * to generate the appropriate export list for win32.  If the variable
+ * needs to be initialized, use PERLVARI.
  *
  * When building without MULTIPLICITY, these variables will be truly global.
  *
@@ -248,8 +249,6 @@ PERLVAR(Iregmatch_state, regmatch_state *)
 PERLVAR(Idelaymagic,   U16)            /* ($<,$>) = ... */
 PERLVAR(Ilocalizing,   U8)             /* are we processing a local() list? */
 PERLVAR(Icolorset,     bool)           /* from regcomp.c */
-PERLVARI(Idirty,       bool, FALSE)    /* in the middle of tearing things
-                                          down? */
 PERLVAR(Iin_eval,      U8)             /* trap "fatal" errors? */
 PERLVAR(Itainted,      bool)           /* using variables controlled by $< */
 
@@ -477,7 +476,16 @@ PERLVAR(Ieuid,             Uid_t)          /* current effective user id */
 PERLVAR(Igid,          Gid_t)          /* current real group id */
 PERLVAR(Iegid,         Gid_t)          /* current effective group id */
 PERLVARI(Ian,          U32,    0)      /* malloc sequence number */
-PERLVARI(Icop_seqmax,  U32,    0)      /* statement sequence number */
+
+#ifdef DEBUGGING
+    /* exercise wrap-around */
+    #define PERL_COP_SEQMAX (U32_MAX-50)
+#else
+    #define PERL_COP_SEQMAX 0
+#endif
+PERLVARI(Icop_seqmax,  U32,    PERL_COP_SEQMAX) /* statement sequence number */
+#undef PERL_COP_SEQMAX
+
 PERLVARI(Ievalseq,     U32,    0)      /* eval sequence number */
 PERLVAR(Iorigalen,     U32)
 PERLVAR(Iorigenviron,  char **)
@@ -660,7 +668,7 @@ PERLVAR(Icustom_op_names, HV*)  /* Names of user defined ops */
 PERLVAR(Icustom_op_descs, HV*)  /* Descriptions of user defined ops */
 
 #ifdef PERLIO_LAYERS
-PERLVARI(Iperlio, PerlIO *,NULL)
+PERLVARI(Iperlio, PerlIOl *,NULL)
 PERLVARI(Iknown_layers, PerlIO_list_t *,NULL)
 PERLVARI(Idef_layerlist, PerlIO_list_t *,NULL)
 #endif
@@ -671,6 +679,8 @@ PERLVAR(Idebug_pad, struct perl_debug_pad)  /* always needed because of the re ex
 
 PERLVAR(Iutf8_idstart, SV *)
 PERLVAR(Iutf8_idcont,  SV *)
+PERLVAR(Iutf8_xidstart,        SV *)
+PERLVAR(Iutf8_xidcont, SV *)
 
 PERLVAR(Isort_RealCmp,  SVCOMPARE_t)
 
@@ -769,9 +779,16 @@ PERLVAR(Iregistered_mros, HV *)
 PERLVAR(Iblockhooks, AV *)
 
 
-/* Everything that folds to a character, for case insensitivity regex matching */
+/* Everything that folds to a given character, for case insensitivity regex
+ * matching */
 PERLVARI(Iutf8_foldclosures,   HV *, NULL)
 
+/* List of characters that participate in folds (except marks, etc in
+ * multi-char folds) */
+PERLVARI(Iutf8_foldable,       HV *, NULL)
+
+PERLVAR(Icustom_ops, HV *)      /* custom op registrations */
+
 /* If you are adding a U8 or U16, check to see if there are 'Space' comments
  * above on where there are gaps which currently will be structure padding.  */