LOGONLY mark d12d61 as DOCed
[p5sagit/p5-mst-13.2.git] / intrpvar.h
index fe3f07f..138895a 100644 (file)
@@ -43,6 +43,9 @@ PERLVAR(Istack_base,  SV **)
 PERLVAR(Istack_max,    SV **)
 
 PERLVAR(Iscopestack,   I32 *)          /* scopes we've ENTERed */
+/* name of the scopes we've ENTERed. Only used with -DDEBUGGING, but needs to be
+   present always, as -DDEUBGGING must be binary compatible with non.  */
+PERLVARI(Iscopestack_name, const char * *, NULL)
 PERLVAR(Iscopestack_ix,        I32)
 PERLVAR(Iscopestack_max,I32)
 
@@ -123,6 +126,7 @@ PERLVAR(Idefstash,  HV *)           /* main symbol table */
 PERLVAR(Icurstash,     HV *)           /* symbol table for current package */
 
 PERLVAR(Irestartop,    OP *)           /* propagating an error from croak? */
+PERLVAR(Irestartjmpenv,        JMPENV *)       /* target frame for longjmp in die */
 PERLVAR(Icurcop,       COP *)
 PERLVAR(Icurstack,     AV *)           /* THE STACK */
 PERLVAR(Icurstackinfo, PERL_SI *)      /* current stack + context */
@@ -170,7 +174,19 @@ PERLVARA(Icolors,6,        char *)         /* from regcomp.c */
 PERLVARI(Ipeepp,       peep_t, MEMBER_TO_FPTR(Perl_peep))
                                        /* Pointer to peephole optimizer */
 
-PERLVARI(Iopfreehook,  Perl_check_t, 0) /* op_free() hook */
+/*
+=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. */
@@ -241,7 +257,7 @@ PERLVAR(Iexit_flags,        U8)             /* was exit() unexpected, etc. */
 PERLVAR(Isrand_called, bool)
 /* Part of internal state, but makes the 16th 1 byte variable in a row.  */
 PERLVAR(Itainting,     bool)           /* doing taint checks */
-/* Space for a U8 */
+PERLVARI(Iin_load_module, bool, FALSE) /* to prevent recursions in PerlIO_find_layer */
 PERLVAR(Iinplace,      char *)
 PERLVAR(Ie_script,     SV *)
 
@@ -263,22 +279,22 @@ PERLVARI(Isig_pending, int,0)           /* Number if highest signal pending */
 PERLVAR(Ipsig_pend, int *)             /* per-signal "count" of pending */
 
 /* shortcuts to various I/O objects */
-PERLVAR(Istdingv,      GV *)
-PERLVAR(Istderrgv,     GV *)
+PERLVAR(Istdingv,      GV *)           /*  *STDIN      */
+PERLVAR(Istderrgv,     GV *)           /*  *STDERR     */
 PERLVAR(Idefgv,                GV *)
-PERLVAR(Iargvgv,       GV *)
-PERLVAR(Iargvoutgv,    GV *)
+PERLVAR(Iargvgv,       GV *)           /*  *ARGV       */
+PERLVAR(Iargvoutgv,    GV *)           /*  *ARGVOUT    */
 PERLVAR(Iargvout_stack,        AV *)
 
 /* shortcuts to regexp stuff */
-PERLVAR(Ireplgv,       GV *)
+PERLVAR(Ireplgv,       GV *)           /*  *^R         */
 
 /* shortcuts to misc objects */
-PERLVAR(Ierrgv,                GV *)
+PERLVAR(Ierrgv,                GV *)           /*  *@          */
 
 /* shortcuts to debugging objects */
-PERLVAR(IDBgv,         GV *)
-PERLVAR(IDBline,       GV *)
+PERLVAR(IDBgv,         GV *)           /*  *DB::DB     */
+PERLVAR(IDBline,       GV *)           /*  *DB::line   */
 
 /*
 =for apidoc mn|GV *|PL_DBsub
@@ -302,10 +318,10 @@ variable.  See C<PL_DBsingle>.
 =cut
 */
 
-PERLVAR(IDBsub,                GV *)
-PERLVAR(IDBsingle,     SV *)
-PERLVAR(IDBtrace,      SV *)
-PERLVAR(IDBsignal,     SV *)
+PERLVAR(IDBsub,                GV *)           /*  *DB::sub    */
+PERLVAR(IDBsingle,     SV *)           /*  $DB::single */
+PERLVAR(IDBtrace,      SV *)           /*  $DB::trace  */
+PERLVAR(IDBsignal,     SV *)           /*  $DB::signal */
 PERLVAR(Idbargs,       AV *)           /* args to call listed by caller function */
 
 /* symbol tables */
@@ -501,10 +517,12 @@ 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 *)
+PERLVAR(Iutf8_perl_space,      SV *)
+PERLVAR(Iutf8_perl_word,       SV *)
+PERLVAR(Iutf8_posix_digit,     SV *)
 PERLVAR(Iutf8_cntrl,   SV *)
 PERLVAR(Iutf8_graph,   SV *)
 PERLVAR(Iutf8_digit,   SV *)
@@ -514,6 +532,16 @@ PERLVAR(Iutf8_print,       SV *)
 PERLVAR(Iutf8_punct,   SV *)
 PERLVAR(Iutf8_xdigit,  SV *)
 PERLVAR(Iutf8_mark,    SV *)
+PERLVAR(Iutf8_X_begin, SV *)
+PERLVAR(Iutf8_X_extend,        SV *)
+PERLVAR(Iutf8_X_prepend,       SV *)
+PERLVAR(Iutf8_X_non_hangul,    SV *)
+PERLVAR(Iutf8_X_L,     SV *)
+PERLVAR(Iutf8_X_LV,    SV *)
+PERLVAR(Iutf8_X_LVT,   SV *)
+PERLVAR(Iutf8_X_T,     SV *)
+PERLVAR(Iutf8_X_V,     SV *)
+PERLVAR(Iutf8_X_LV_LVT_V,      SV *)
 PERLVAR(Iutf8_toupper, SV *)
 PERLVAR(Iutf8_totitle, SV *)
 PERLVAR(Iutf8_tolower, SV *)
@@ -604,7 +632,7 @@ PERLVARI(Iunitcheckav_save, AV*, NULL)      /* save UNITCHECK{}s when compiling */
 
 PERLVARI(Iclocktick, long, 0)  /* this many times() ticks in a second */
 
-PERLVARI(Iin_load_module, int, 0)      /* to prevent recursions in PerlIO_find_layer */
+/* Space for an int */
 
 PERLVAR(Iunicode, U32) /* Unicode features: $ENV{PERL_UNICODE} or -C */
 
@@ -627,6 +655,8 @@ PERLVARI(Iunlockhook,       share_proc_t,   MEMBER_TO_FPTR(PERL_UNLOCK_HOOK))
 
 PERLVARI(Ithreadhook,  thrhook_proc_t, MEMBER_TO_FPTR(Perl_nothreadhook))
 
+PERLVARI(Isignalhook,  despatch_signals_proc_t, MEMBER_TO_FPTR(Perl_despatch_signals))
+
 PERLVARI(Ihash_seed, UV, 0)            /* Hash initializer */
 
 PERLVARI(Irehash_seed, UV, 0)          /* 582 hash initializer */