For miniperl, disable PERL_UNICODE and -C.
[p5sagit/p5-mst-13.2.git] / intrpvar.h
index 956b7de..02d6515 100644 (file)
@@ -170,6 +170,20 @@ PERLVARA(Icolors,6,        char *)         /* from regcomp.c */
 PERLVARI(Ipeepp,       peep_t, MEMBER_TO_FPTR(Perl_peep))
                                        /* Pointer to peephole optimizer */
 
+/*
+=for apidoc Amn|Perl_ophook_t|PL_opfreehook
+
+When non-C<NULL>, the function pointed by this variable will be called each time an OP is freed with the corresponding OP as the argument.
+This allows extensions to free any extra attribute they have locally attached to an OP.
+It is also assured to first fire for the parent OP and then for its kids.
+
+When you replace this variable, it is considered a good practice to store the possibly previously installed hook and that you recall it inside your own.
+
+=cut
+*/
+
+PERLVARI(Iopfreehook,  Perl_ophook_t, 0) /* op_free() hook */
+
 PERLVARI(Imaxscream,   I32,    -1)
 PERLVARI(Ireginterp_cnt,I32,    0)     /* Whether "Regexp" was interpolated. */
 PERLVARI(Iwatchaddr,   char **, 0)
@@ -499,7 +513,6 @@ PERLVAR(Inumeric_name,      char *)         /* Name of current numeric locale */
 
 /* utf8 character classes */
 PERLVAR(Iutf8_alnum,   SV *)
-PERLVAR(Iutf8_alnumc,  SV *)
 PERLVAR(Iutf8_ascii,   SV *)
 PERLVAR(Iutf8_alpha,   SV *)
 PERLVAR(Iutf8_space,   SV *)
@@ -533,10 +546,13 @@ PERLVARI(Iglob_index,     int,    0)
 
 PERLVAR(Iparser,       yy_parser *)    /* current parser state */
 
-PERLVAR(Ibitcount,     char *)
-
+/* Array of signal handlers, indexed by signal number, through which the C
+   signal handler dispatches.  */
 PERLVAR(Ipsig_ptr, SV**)
-PERLVAR(Ipsig_name, SV**)
+/* Array of names of signals, indexed by signal number, for (re)use as the first
+   argument to a signal handler.   Only one block of memory is allocated for
+   both psig_name and psig_ptr.  */
+PERLVAR(Ipsig_name, SV**)              
 
 #if defined(PERL_IMPLICIT_SYS)
 PERLVAR(IMem,          struct IPerlMem*)
@@ -681,6 +697,12 @@ PERLVARI(Idestroyhook, destroyable_proc_t, MEMBER_TO_FPTR(Perl_sv_destroyable))
 PERLVARI(Isv_serial, U32, 0) /* SV serial number, used in sv.c */
 #endif
 
+/* Register of known Method Resolution Orders.
+   What this actually points to is an implementation detail (it may change to
+   a structure incorporating a reference count - use mro_get_from_name to
+   retrieve a C<struct mro_alg *>  */
+PERLVAR(Iregistered_mros, HV *)
+
 /* 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.  */