diff options
author | Karl Williamson <khw@cpan.org> | 2019-02-04 14:07:11 -0700 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2019-02-05 11:44:29 -0700 |
commit | b257a28c3a214073e8f73ee768a25f96c841e422 (patch) | |
tree | 8b0394e4f83f543f51cc8624b06db2ce71a15b37 /handy.h | |
parent | b8df1494dd61a03039c2dccfa4b1c02a73dda991 (diff) | |
download | perl-b257a28c3a214073e8f73ee768a25f96c841e422.tar.gz |
utf8.c: Add functions for Turkic locale case changing
These override the normal handling of UTF-8 locale case changing.
They aren't actually called yet, until later in this series of commits.
Diffstat (limited to 'handy.h')
-rw-r--r-- | handy.h | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1542,7 +1542,7 @@ END_EXTERN_C /* These next three are also for internal core Perl use only: case-change * helper macros. The reason for using the PL_latin arrays is in case the * system function is defective; it ensures uniform results that conform to the - * Unicod standard. */ + * Unicod standard. It does not handle the anomalies in UTF-8 Turkic locales */ #define _generic_toLOWER_LC(c, function, cast) (! FITS_IN_8_BITS(c) \ ? (c) \ : (IN_UTF8_CTYPE_LOCALE) \ @@ -1553,7 +1553,8 @@ END_EXTERN_C * returns a single value, so can't adequately return the upper case of LATIN * SMALL LETTER SHARP S in a UTF-8 locale (which should be a string of two * values "SS"); instead it asserts against that under DEBUGGING, and - * otherwise returns its input */ + * otherwise returns its input. It does not handle the anomalies in UTF-8 + * Turkic locales. */ #define _generic_toUPPER_LC(c, function, cast) \ (! FITS_IN_8_BITS(c) \ ? (c) \ @@ -1571,7 +1572,8 @@ END_EXTERN_C * returns a single value, so can't adequately return the fold case of LATIN * SMALL LETTER SHARP S in a UTF-8 locale (which should be a string of two * values "ss"); instead it asserts against that under DEBUGGING, and - * otherwise returns its input */ + * otherwise returns its input. It does not handle the anomalies in UTF-8 + * Turkic locales */ #define _generic_toFOLD_LC(c, function, cast) \ ((UNLIKELY((c) == MICRO_SIGN) && IN_UTF8_CTYPE_LOCALE) \ ? GREEK_SMALL_LETTER_MU \ |