* Don't forget to re-run regen/embed.pl to propagate changes! */
-/* New variables must be added to the very end for binary compatibility.
- * XSUB.h provides wrapper functions via perlapi.h that make this
- * irrelevant, but not all code may be expected to #include XSUB.h. */
+/* New variables must be added to the very end for binary compatibility. */
-/* Don't forget to add your variable also to perl_clone()! */
+/* Don't forget to add your variable also to perl_clone()! (in sv.c) */
/* The 'I' prefix is only needed for vars that need appropriate #defines
* generated when built with or without MULTIPLICITY. It is also used
PERLVARI(I, opfreehook, Perl_ophook_t, 0) /* op_free() hook */
-/* Space for U32 */
-PERLVARI(I, reginterp_cnt,I32, 0) /* Whether "Regexp" was interpolated. */
PERLVARI(I, watchaddr, char **, 0)
PERLVAR(I, watchok, char *)
PERLVAR(I, sawampersand, bool) /* must save all match strings */
PERLVAR(I, unsafe, bool)
PERLVAR(I, exit_flags, U8) /* was exit() unexpected, etc. */
-PERLVAR(I, srand_called, bool)
-PERLVARI(I, in_load_module, bool, FALSE) /* to prevent recursions in PerlIO_find_layer */
- /* Space for a U16 */
+
PERLVAR(I, inplace, char *)
PERLVAR(I, e_script, SV *)
PERLVAR(I, nomemok, bool) /* let malloc context handle nomem */
PERLVARI(I, savebegin, bool, FALSE) /* save BEGINs for compiler */
-PERLVAR(I, uid, Uid_t) /* current real user id */
-PERLVAR(I, euid, Uid_t) /* current effective user id */
-PERLVAR(I, gid, Gid_t) /* current real group id */
-PERLVAR(I, egid, Gid_t) /* current effective group id */
+PERLVAR(I, delaymagic_uid, Uid_t) /* current real user id, only for delaymagic */
+PERLVAR(I, delaymagic_euid, Uid_t) /* current effective user id, only for delaymagic */
+PERLVAR(I, delaymagic_gid, Gid_t) /* current real group id, only for delaymagic */
+PERLVAR(I, delaymagic_egid, Gid_t) /* current effective group id, only for delaymagic */
PERLVARI(I, an, U32, 0) /* malloc sequence number */
#ifdef DEBUGGING
/* Perl_Ibreakable_sub_generation_ptr was too long for VMS, hence "gen" */
PERLVARI(I, breakable_sub_gen, U32, 0)
-PERLVARI(I, amagic_generation, long, 0)
-
#ifdef USE_LOCALE_COLLATE
PERLVAR(I, collation_name, char *) /* Name of current collation */
PERLVAR(I, collxfrm_base, Size_t) /* Basic overhead in *xfrm() */
#endif /* !USE_LOCALE_NUMERIC */
-/* utf8 character classes */
+/* Unicode inversion lists */
+PERLVAR(I, ASCII, SV *)
+PERLVAR(I, Latin1, SV *)
+PERLVAR(I, AboveLatin1, SV *)
+
+PERLVAR(I, PerlSpace, SV *)
+PERLVAR(I, XPerlSpace, SV *)
+
+PERLVAR(I, L1PosixAlnum,SV *)
+PERLVAR(I, PosixAlnum, SV *)
+
+PERLVAR(I, L1PosixAlpha,SV *)
+PERLVAR(I, PosixAlpha, SV *)
+
+PERLVAR(I, PosixBlank, SV *)
+PERLVAR(I, XPosixBlank, SV *)
+
+PERLVAR(I, L1Cased, SV *)
+
+PERLVAR(I, PosixCntrl, SV *)
+PERLVAR(I, XPosixCntrl, SV *)
+
+PERLVAR(I, PosixDigit, SV *)
+
+PERLVAR(I, L1PosixGraph,SV *)
+PERLVAR(I, PosixGraph, SV *)
+
+PERLVAR(I, L1PosixLower,SV *)
+PERLVAR(I, PosixLower, SV *)
+
+PERLVAR(I, L1PosixPrint,SV *)
+PERLVAR(I, PosixPrint, SV *)
+
+PERLVAR(I, L1PosixPunct,SV *)
+PERLVAR(I, PosixPunct, SV *)
+
+PERLVAR(I, PosixSpace, SV *)
+PERLVAR(I, XPosixSpace, SV *)
+
+PERLVAR(I, L1PosixUpper,SV *)
+PERLVAR(I, PosixUpper, SV *)
+
+PERLVAR(I, L1PosixWord, SV *)
+PERLVAR(I, PosixWord, SV *)
+
+PERLVAR(I, PosixXDigit, SV *)
+PERLVAR(I, XPosixXDigit, SV *)
+
+PERLVAR(I, VertSpace, SV *)
+
+/* utf8 character class swashes */
PERLVAR(I, utf8_alnum, SV *)
-PERLVAR(I, utf8_ascii, SV *)
PERLVAR(I, utf8_alpha, SV *)
+PERLVAR(I, utf8_blank, SV *)
PERLVAR(I, utf8_space, SV *)
-PERLVAR(I, utf8_perl_space, SV *)
-PERLVAR(I, utf8_perl_word, SV *)
-PERLVAR(I, utf8_posix_digit, SV *)
-PERLVAR(I, utf8_cntrl, SV *)
PERLVAR(I, utf8_graph, SV *)
PERLVAR(I, utf8_digit, SV *)
PERLVAR(I, utf8_upper, SV *)
PERLVAR(I, utf8_totitle, SV *)
PERLVAR(I, utf8_tolower, SV *)
PERLVAR(I, utf8_tofold, SV *)
+PERLVAR(I, utf8_quotemeta, SV *)
PERLVAR(I, last_swash_hv, HV *)
PERLVAR(I, last_swash_tmps, U8 *)
PERLVAR(I, last_swash_slen, STRLEN)
-PERLVARA(I, last_swash_key,10, U8)
-PERLVAR(I, last_swash_klen, U8) /* Only needs to store 0-10 */
+PERLVARA(I, last_swash_key,12, U8)
+PERLVAR(I, last_swash_klen, U8) /* Only needs to store 0-12 */
#ifdef FCRYPT
PERLVARI(I, cryptseen, bool, FALSE) /* has fast crypt() been initialized? */
#endif
PERLVAR(I, pad_reset_pending, bool) /* reset pad on next attempted alloc */
-
-PERLVARI(I, glob_index, int, 0)
-
+PERLVAR(I, srand_called, bool)
+PERLVARI(I, in_load_module, bool, FALSE) /* to prevent recursions in PerlIO_find_layer */
PERLVAR(I, parser, yy_parser *) /* current parser state */
Entry 0 is an SV whose PV is a
"packed" list of IVs listing
the now-free slots in the array */
+PERLVAR(I, stashpad, HV **) /* for CopSTASH */
+PERLVARI(I, stashpadmax, PADOFFSET, 64)
+PERLVARI(I, stashpadix, PADOFFSET, 0)
#endif
#ifdef USE_REENTRANT_API
PERLVAR(I, utf8_idstart, SV *)
PERLVAR(I, utf8_idcont, SV *)
PERLVAR(I, utf8_xidstart, SV *)
+PERLVAR(I, utf8_perl_idstart, SV *)
PERLVAR(I, utf8_xidcont, SV *)
PERLVAR(I, sort_RealCmp, SVCOMPARE_t)
PERLVAR(I, custom_ops, HV *) /* custom op registrations */
+/* Hook for File::Glob */
+PERLVARI(I, globhook, globhook_t, NULL)
+
+PERLVARI(I, glob_index, int, 0)
PERLVAR(I, reentrant_retint, int) /* Integer return value from reentrant functions */
/* The last unconditional member of the interpreter structure when 5.10.0 was
#define PERL_LAST_5_16_0_INTERP_MEMBER Ireentrant_retint
#ifdef PERL_IMPLICIT_CONTEXT
-PERLVARI(I, my_cxt_size, int, 0) /* size of PL_my_cxt_list */
PERLVARI(I, my_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
+PERLVARI(I, my_cxt_size, int, 0) /* size of PL_my_cxt_list */
# ifdef PERL_GLOBAL_STRUCT_PRIVATE
PERLVARI(I, my_cxt_keys, const char **, NULL) /* per-module array of pointers to MY_CXT_KEY constants */
# endif
PERLVARI(I, dumper_fd, int, -1)
#endif
-/* Stores the PPID */
-#ifdef THREADS_HAVE_PIDS
-PERLVARI(I, ppid, IV, 0)
-#endif
-
#ifdef PERL_MAD
PERLVARI(I, madskills, bool, FALSE) /* preserve all syntactic info */
/* (MAD = Misc Attribute Decoration) */