This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Latch LC_NUMERIC during critical sections
[perl5.git] / intrpvar.h
index 87f33d8..dec6fa9 100644 (file)
@@ -262,6 +262,9 @@ PERLVAR(I, exit_flags,      U8)             /* was exit() unexpected, etc. */
 PERLVAR(I, utf8locale, bool)           /* utf8 locale detected */
 PERLVAR(I, in_utf8_CTYPE_locale, bool)
 PERLVAR(I, in_utf8_COLLATE_locale, bool)
+PERLVARI(I, lc_numeric_mutex_depth, int, 0)   /* Emulate general semaphore */
+PERLVARA(I, locale_utf8ness, 256, char)
+
 #ifdef USE_LOCALE_CTYPE
     PERLVAR(I, warn_locale, SV *)
 #endif
@@ -456,8 +459,6 @@ PERLVARI(I, curcopdb,       COP *,  NULL)
 PERLVAR(I, filemode,   int)            /* so nextargv() can preserve mode */
 PERLVAR(I, lastfd,     int)            /* what to preserve mode on */
 PERLVAR(I, oldname,    char *)         /* what to preserve mode on */
-PERLVAR(I, Argv,       const char **)  /* stuff to free from do_aexec, vfork safe */
-PERLVAR(I, Cmd,                char *)         /* stuff to free from do_aexec, vfork safe */
 /* Elements in this array have ';' appended and are injected as a single line
    into the tokeniser. You can't put any (literal) newlines into any program
    you stuff in into this array, as the point where it's injected is expecting
@@ -590,6 +591,8 @@ PERLVARI(I, collation_standard, bool, TRUE)
 
 PERLVARI(I, langinfo_buf, char *, NULL)
 PERLVARI(I, langinfo_bufsize, Size_t, 0)
+PERLVARI(I, setlocale_buf, char *, NULL)
+PERLVARI(I, setlocale_bufsize, Size_t, 0)
 
 #ifdef PERL_SAWAMPERSAND
 PERLVAR(I, sawampersand, U8)           /* must save all match strings */
@@ -613,12 +616,18 @@ PERLVARI(I, perl_destruct_level, signed char,     0)
 #ifdef USE_LOCALE_NUMERIC
 
 PERLVARI(I, numeric_standard, int, TRUE)
-                                       /* Assume simple numerics */
-PERLVARI(I, numeric_local, bool, TRUE)
-                                       /* Assume local numerics */
+                                       /* Assume C locale numerics */
+PERLVARI(I, numeric_underlying, bool, TRUE)
+                                       /* Assume underlying locale numerics */
+PERLVARI(I, numeric_underlying_is_standard, bool, TRUE)
 PERLVAR(I, numeric_name, char *)       /* Name of current numeric locale */
 PERLVAR(I, numeric_radix_sv, SV *)     /* The radix separator if not '.' */
 
+#  ifdef HAS_POSIX_2008_LOCALE
+
+PERLVARI(I, underlying_numeric_obj, locale_t, NULL)
+
+#  endif
 #endif /* !USE_LOCALE_NUMERIC */
 
 /* Unicode inversion lists */
@@ -640,11 +649,11 @@ PERLVAR(I, utf8_charname_begin, SV *)
 PERLVAR(I, utf8_charname_continue, SV *)
 
 PERLVARA(I, utf8_swash_ptrs, POSIX_SWASH_COUNT, SV *)
-PERLVARA(I, Posix_ptrs, POSIX_CC_COUNT, SV *)
 PERLVARA(I, XPosix_ptrs, POSIX_CC_COUNT, SV *)
 PERLVAR(I, GCB_invlist, SV *)
 PERLVAR(I, LB_invlist, SV *)
 PERLVAR(I, SB_invlist, SV *)
+PERLVAR(I, SCX_invlist, SV *)
 PERLVAR(I, WB_invlist, SV *)
 PERLVAR(I, Assigned_invlist, SV *)
 PERLVAR(I, seen_deprecated_macro, HV *)