This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl.h: Add comment, rephrase another
authorKarl Williamson <khw@cpan.org>
Tue, 2 Jan 2018 01:01:45 +0000 (18:01 -0700)
committerKarl Williamson <khw@cpan.org>
Wed, 31 Jan 2018 05:27:25 +0000 (22:27 -0700)
perl.h

diff --git a/perl.h b/perl.h
index f82efb7..ef59233 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -5506,7 +5506,7 @@ typedef struct am_table_short AMTS;
       &&   defined(HAS_USELOCALE)               \
       && ! defined(NO_POSIX_2008_LOCALE)
 
-    /* The code is written for simplicity to assume that any platform advanced
+    /* For simplicity, the code is written to assume that any platform advanced
      * enough to have the Posix 2008 locale functions has LC_ALL.  The test
      * above makes sure that assumption is valid */
 
@@ -5752,6 +5752,15 @@ expression, but with an empty argument list, like this:
 
 */
 
+/* The numeric locale is generally kept in the C locale instead of the
+ * underlying locale.  The current status is known by looking at two words.
+ * One is non-zero if the current numeric locale is the standard C/POSIX one.
+ * The other is non-zero if the current locale is the underlying locale.  Both
+ * can be non-zero if, as often happens, the underlying locale is C.
+ *
+ * khw believes the reason for the variables instead of the bits in a single
+ * word is to avoid having to have masking instructions. */
+
 #  define _NOT_IN_NUMERIC_STANDARD (! PL_numeric_standard)
 
 /* We can lock the category to stay in the C locale, making requests to the