PERLVAR(Iorigargc, int)
PERLVAR(Iorigargv, char **)
PERLVAR(Ienvgv, GV *)
-PERLVAR(Isiggv, GV *)
PERLVAR(Iincgv, GV *)
PERLVAR(Ihintgv, GV *)
PERLVAR(Iorigfilename, char *)
PERLVAR(Idiehook, SV *)
PERLVAR(Iwarnhook, SV *)
-PERLVAR(Iparsehook, SV *)
-PERLVAR(Icddir, char *) /* switches */
+
+/* switches */
PERLVAR(Iminus_c, bool)
-PERLVAR(Ipatchlevel[10],char)
+PERLVARA(Ipatchlevel,10,char)
PERLVAR(Ilocalpatches, char **)
PERLVARI(Isplitstr, char *, " ")
PERLVAR(Ipreprocess, bool)
PERLVAR(Idowarn, bool)
PERLVAR(Idoextract, bool)
PERLVAR(Isawampersand, bool) /* must save all match strings */
-PERLVAR(Isawstudy, bool) /* do fbm_instr on all strings */
-PERLVAR(Isawvec, bool)
PERLVAR(Iunsafe, bool)
PERLVAR(Iinplace, char *)
PERLVAR(Ie_script, SV *)
PERLVAR(Iperldb, U32)
-/* This value may be raised by extensions for testing purposes */
+/* This value may be set when embedding for full cleanup */
/* 0=none, 1=full, 2=full with checks */
PERLVARI(Iperl_destruct_level, int, 0)
/* shortcuts to various I/O objects */
PERLVAR(Istdingv, GV *)
+PERLVAR(Istderrgv, GV *)
PERLVAR(Idefgv, GV *)
PERLVAR(Iargvgv, GV *)
PERLVAR(Iargvoutgv, GV *)
+PERLVAR(Iargvout_stack, AV *)
/* shortcuts to regexp stuff */
-/* XXX these three aren't used anywhere */
-PERLVAR(Ileftgv, GV *)
-PERLVAR(Iampergv, GV *)
-PERLVAR(Irightgv, GV *)
-
/* this one needs to be moved to thrdvar.h and accessed via
* find_threadsv() when USE_THREADS */
PERLVAR(Ireplgv, GV *)
PERLVAR(Icurstname, SV *) /* name of current package */
PERLVAR(Ibeginav, AV *) /* names of BEGIN subroutines */
PERLVAR(Iendav, AV *) /* names of END subroutines */
+PERLVAR(Istopav, AV *) /* names of STOP subroutines */
PERLVAR(Iinitav, AV *) /* names of INIT subroutines */
PERLVAR(Istrtab, HV *) /* shared string table */
PERLVARI(Isub_generation,U32,1) /* incr to invalidate method cache */
PERLVAR(Isv_arenaroot, SV*) /* list of areas for garbage collection */
/* funky return mechanisms */
-PERLVAR(Ilastspbase, I32)
-PERLVAR(Ilastsize, I32)
PERLVAR(Iforkprocess, int) /* so do_open |- can return proc# */
/* subprocess state */
PERLVAR(Itainting, bool) /* doing taint checks */
PERLVARI(Iop_mask, char *, NULL) /* masked operations for safe evals */
-/* trace state */
-PERLVAR(Idlevel, I32)
-PERLVARI(Idlmax, I32, 128)
-PERLVAR(Idebname, char *)
-PERLVAR(Idebdelim, char *)
-
/* current interpreter roots */
PERLVAR(Imain_cv, CV *)
PERLVAR(Imain_root, OP *)
PERLVARI(Icopline, line_t, NOLINE)
/* statics moved here for shared library purposes */
-PERLVAR(Istrchop, SV) /* return value from chop */
PERLVAR(Ifilemode, int) /* so nextargv() can preserve mode */
PERLVAR(Ilastfd, int) /* what to preserve mode on */
PERLVAR(Ioldname, char *) /* what to preserve mode on */
PERLVAR(IArgv, char **) /* stuff to free from do_aexec, vfork safe */
PERLVAR(ICmd, char *) /* stuff to free from do_aexec, vfork safe */
-PERLVAR(Imystrk, SV *) /* temp key string for do_each() */
-PERLVAR(Ioldlastpm, PMOP *) /* for saving regexp context in debugger */
PERLVAR(Igensym, I32) /* next symbol for getsym() to define */
PERLVAR(Ipreambled, bool)
PERLVAR(Ipreambleav, AV *)
PERLVAR(Istrtab_mutex, perl_mutex) /* Mutex for string table access */
#endif /* USE_THREADS */
-PERLVAR(Iuid, int) /* current real user id */
-PERLVAR(Ieuid, int) /* current effective user id */
-PERLVAR(Igid, int) /* current real group id */
-PERLVAR(Iegid, int) /* current effective group id */
+PERLVAR(Iuid, Uid_t) /* current real user id */
+PERLVAR(Ieuid, Uid_t) /* current effective user id */
+PERLVAR(Igid, Gid_t) /* current real group id */
+PERLVAR(Iegid, Gid_t) /* current effective group id */
PERLVAR(Inomemok, bool) /* let malloc context handle nomem */
PERLVAR(Ian, U32) /* malloc sequence number */
PERLVAR(Icop_seqmax, U32) /* statement sequence number */
PERLVAR(Ixiv_arenaroot, XPV*) /* list of allocated xiv areas */
PERLVAR(Ixiv_root, IV *) /* free xiv list--shared by interpreters */
-PERLVAR(Ixnv_root, double *) /* free xnv list--shared by interpreters */
+PERLVAR(Ixnv_root, NV *) /* free xnv list--shared by interpreters */
PERLVAR(Ixrv_root, XRV *) /* free xrv list--shared by interpreters */
PERLVAR(Ixpv_root, XPV *) /* free xpv list--shared by interpreters */
+PERLVAR(Ixpviv_root, XPVIV *) /* free xpviv list--shared by interpreters */
+PERLVAR(Ixpvnv_root, XPVNV *) /* free xpvnv list--shared by interpreters */
+PERLVAR(Ixpvcv_root, XPVCV *) /* free xpvcv list--shared by interpreters */
+PERLVAR(Ixpvav_root, XPVAV *) /* free xpvav list--shared by interpreters */
+PERLVAR(Ixpvhv_root, XPVHV *) /* free xpvhv list--shared by interpreters */
+PERLVAR(Ixpvmg_root, XPVMG *) /* free xpvmg list--shared by interpreters */
+PERLVAR(Ixpvlv_root, XPVLV *) /* free xpvlv list--shared by interpreters */
+PERLVAR(Ixpvbm_root, XPVBM *) /* free xpvbm list--shared by interpreters */
PERLVAR(Ihe_root, HE *) /* free he list--shared by interpreters */
PERLVAR(Inice_chunk, char *) /* a nice chunk of memory to reuse */
PERLVAR(Inice_chunk_size, U32) /* how nice the chunk of memory is */
-PERLVARI(Irunops, runops_proc_t, FUNC_NAME_TO_PTR(RUNOPS_DEFAULT))
+PERLVARI(Irunops, runops_proc_t, MEMBER_TO_FPTR(RUNOPS_DEFAULT))
-PERLVAR(Itokenbuf[256], char)
+PERLVARA(Itokenbuf,256, char)
PERLVAR(Isv_undef, SV)
PERLVAR(Isv_no, SV)
PERLVAR(Ilex_casestack, char *) /* what kind of case mods in effect */
/* What we know when we're in LEX_KNOWNEXT state. */
-PERLVAR(Inextval[5], YYSTYPE) /* value of next token, if any */
-PERLVAR(Inexttype[5], I32) /* type of next token */
+PERLVARA(Inextval,5, YYSTYPE) /* value of next token, if any */
+PERLVARA(Inexttype,5, I32) /* type of next token */
PERLVAR(Inexttoke, I32)
PERLVAR(Ilinestr, SV *)
PERLVAR(Ipadix_floor, I32) /* how low may inner block reset padix */
PERLVAR(Ipad_reset_pending, I32) /* reset pad on next attempted alloc */
-PERLVAR(Ithisexpr, I32) /* name id for nothing_in_common() */
PERLVAR(Ilast_uni, char *) /* position of last named-unary op */
PERLVAR(Ilast_lop, char *) /* position of last list operator */
PERLVAR(Ilast_lop_op, OPCODE) /* last list operator */
-PERLVAR(Iin_my, bool) /* we're compiling a "my" declaration */
+PERLVAR(Iin_my, I32) /* we're compiling a "my" (or "our") declaration */
PERLVAR(Iin_my_stash, HV *) /* declared class of this "my" declaration */
#ifdef FCRYPT
-PERLVAR(Icryptseen, I32) /* has fast crypt() been initialized? */
+PERLVAR(Icryptseen, bool) /* has fast crypt() been initialized? */
#endif
-PERLVAR(Ihints, U32) /* pragma-tic compile-time flags */
+PERLVAR(Ihints, U32) /* pragma-tic compile-time flags */
PERLVAR(Idebug, VOL U32) /* flags given to -D switch */
/* Assume simple numerics */
PERLVARI(Inumeric_local, bool, TRUE)
/* Assume local numerics */
+PERLVAR(Inumeric_radix, char)
+ /* The radix character if not '.' */
#endif /* !USE_LOCALE_NUMERIC */
/* 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_cntrl, SV *)
+PERLVAR(Iutf8_graph, SV *)
PERLVAR(Iutf8_digit, SV *)
PERLVAR(Iutf8_upper, SV *)
PERLVAR(Iutf8_lower, SV *)
PERLVAR(Iutf8_print, SV *)
+PERLVAR(Iutf8_punct, SV *)
+PERLVAR(Iutf8_xdigit, SV *)
PERLVAR(Iutf8_mark, SV *)
PERLVAR(Iutf8_toupper, SV *)
PERLVAR(Iutf8_totitle, SV *)
PERLVAR(Iutf8_tolower, SV *)
PERLVAR(Ilast_swash_hv, HV *)
PERLVAR(Ilast_swash_klen, U32)
-PERLVAR(Ilast_swash_key[10], U8)
+PERLVARA(Ilast_swash_key,10, U8)
PERLVAR(Ilast_swash_tmps, U8 *)
PERLVAR(Ilast_swash_slen, STRLEN)
PERLVAR(Iyylval, YYSTYPE)
PERLVAR(Iglob_index, int)
-PERLVAR(Iefloatbuf, char*)
-PERLVAR(Iefloatsize, STRLEN)
PERLVAR(Isrand_called, bool)
-PERLVAR(Iuudmap[256], char)
+PERLVARA(Iuudmap,256, char)
PERLVAR(Ibitcount, char *)
-PERLVAR(Ifilter_debug, int)
#ifdef USE_THREADS
PERLVAR(Ithr_key, perl_key) /* For per-thread struct perl_thread* */
PERLVAR(Isv_mutex, perl_mutex) /* Mutex for allocating SVs in sv.c */
-PERLVAR(Imalloc_mutex, perl_mutex) /* Mutex for malloc */
PERLVAR(Ieval_mutex, perl_mutex) /* Mutex for doeval */
PERLVAR(Ieval_cond, perl_cond) /* Condition variable for doeval */
PERLVAR(Ieval_owner, struct perl_thread *)
#endif /* USE_THREADS */
-#ifdef PERL_OBJECT
-PERLVARI(piMem, IPerlMem*, NULL)
-PERLVARI(piENV, IPerlEnv*, NULL)
-PERLVARI(piStdIO, IPerlStdIO*, NULL)
-PERLVARI(piLIO, IPerlLIO*, NULL)
-PERLVARI(piDir, IPerlDir*, NULL)
-PERLVARI(piSock, IPerlSock*, NULL)
-PERLVARI(piProc, IPerlProc*, NULL)
+#if defined(PERL_IMPLICIT_SYS)
+PERLVAR(IMem, struct IPerlMem*)
+PERLVAR(IEnv, struct IPerlEnv*)
+PERLVAR(IStdIO, struct IPerlStdIO*)
+PERLVAR(ILIO, struct IPerlLIO*)
+PERLVAR(IDir, struct IPerlDir*)
+PERLVAR(ISock, struct IPerlSock*)
+PERLVAR(IProc, struct IPerlProc*)
+#endif
+
+#if defined(USE_ITHREADS)
+PERLVAR(Isv_table, SVTBL*)
#endif