This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make new_numeric() static
authorKarl Williamson <khw@cpan.org>
Tue, 6 Feb 2018 04:52:54 +0000 (21:52 -0700)
committerKarl Williamson <khw@cpan.org>
Sun, 18 Feb 2018 22:44:23 +0000 (15:44 -0700)
This core-only function is now used only in one file.

embed.fnc
embed.h
locale.c
proto.h

index 80035a8..e7a32b7 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -1306,7 +1306,6 @@ ApOM      |int    |init_i18nl10n  |int printwarn
 ApOM   |int    |init_i18nl14n  |int printwarn
 p      |char*  |my_strerror    |const int errnum
 Xpn    |void   |_warn_problematic_locale
-p      |void   |new_numeric    |NULLOK const char* newcoll
 Xp     |void   |set_numeric_underlying
 Xp     |void   |set_numeric_standard
 Xp     |bool   |_is_in_locale_category|const bool compiling|const int category
@@ -2796,6 +2795,7 @@ s |char*  |stdize_locale  |NN char* locs
 s      |void   |new_collate    |NULLOK const char* newcoll
 s      |void   |new_ctype      |NN const char* newctype
 s      |void   |set_numeric_radix|const bool use_locale
+s      |void   |new_numeric    |NULLOK const char* newnum
 #    ifdef WIN32
 s      |char*  |win32_setlocale|int category|NULLOK const char* locale
 #    endif
diff --git a/embed.h b/embed.h
index 1405176..7d6922b 100644 (file)
--- a/embed.h
+++ b/embed.h
 #define newSVavdefelem(a,b,c)  Perl_newSVavdefelem(aTHX_ a,b,c)
 #define newXS_deffile(a,b)     Perl_newXS_deffile(aTHX_ a,b)
 #define newXS_len_flags(a,b,c,d,e,f,g) Perl_newXS_len_flags(aTHX_ a,b,c,d,e,f,g)
-#define new_numeric(a)         Perl_new_numeric(aTHX_ a)
 #define nextargv(a,b)          Perl_nextargv(aTHX_ a,b)
 #define noperl_die             Perl_noperl_die
 #define notify_parser_that_changed_to_utf8()   Perl_notify_parser_that_changed_to_utf8(aTHX)
 #    if defined(USE_LOCALE)
 #define new_collate(a)         S_new_collate(aTHX_ a)
 #define new_ctype(a)           S_new_ctype(aTHX_ a)
+#define new_numeric(a)         S_new_numeric(aTHX_ a)
 #define set_numeric_radix(a)   S_set_numeric_radix(aTHX_ a)
 #define stdize_locale(a)       S_stdize_locale(aTHX_ a)
 #      if defined(WIN32)
index 357f9d4..5f68a8e 100644 (file)
--- a/locale.c
+++ b/locale.c
@@ -427,9 +427,8 @@ S_set_numeric_radix(pTHX_ const bool use_locale)
 
 }
 
-
-void
-Perl_new_numeric(pTHX_ const char *newnum)
+STATIC void
+S_new_numeric(pTHX_ const char *newnum)
 {
 
 #ifndef USE_LOCALE_NUMERIC
@@ -468,10 +467,7 @@ Perl_new_numeric(pTHX_ const char *newnum)
      *                  variables are true at the same time.  (Toggling is a
      *                  no-op under these circumstances.)  This variable is
      *                  used to avoid having to recalculate.
-     * Any code changing the locale (outside this file) should use
-     * POSIX::setlocale, which calls this function.  Therefore this function
-     * should be called directly only from this file and from
-     * POSIX::setlocale() */
+     */
 
     char *save_newnum;
 
diff --git a/proto.h b/proto.h
index d35e295..7853874 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -2387,7 +2387,6 @@ PERL_CALLCONV CV *        Perl_newXS_flags(pTHX_ const char *name, XSUBADDR_t subaddr,
 PERL_CALLCONV CV *     Perl_newXS_len_flags(pTHX_ const char *name, STRLEN len, XSUBADDR_t subaddr, const char *const filename, const char *const proto, SV **const_svp, U32 flags);
 #define PERL_ARGS_ASSERT_NEWXS_LEN_FLAGS       \
        assert(subaddr)
-PERL_CALLCONV void     Perl_new_numeric(pTHX_ const char* newcoll);
 PERL_CALLCONV PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems)
                        __attribute__warn_unused_result__;
 
@@ -4709,6 +4708,7 @@ STATIC void       S_new_collate(pTHX_ const char* newcoll);
 STATIC void    S_new_ctype(pTHX_ const char* newctype);
 #define PERL_ARGS_ASSERT_NEW_CTYPE     \
        assert(newctype)
+STATIC void    S_new_numeric(pTHX_ const char* newnum);
 STATIC void    S_set_numeric_radix(pTHX_ const bool use_locale);
 STATIC char*   S_stdize_locale(pTHX_ char* locs);
 #define PERL_ARGS_ASSERT_STDIZE_LOCALE \