diff options
author | Karl Williamson <khw@cpan.org> | 2015-06-21 21:38:32 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2015-07-28 22:15:53 -0600 |
commit | 9b63e895ee43cb3717f72cde64f6a658b1b46dd7 (patch) | |
tree | bf381dfa72b0e8c5bd5c89b393f635405b0189a6 /pp.c | |
parent | ce6e23cf44eba8e2f28aeef6eafc77ef073a33a9 (diff) | |
download | perl-9b63e895ee43cb3717f72cde64f6a658b1b46dd7.tar.gz |
There are no folds to multiple chars in early Unicode versions
Several places require special handling because of this, notably for the
lowercase Sharp S, but not in Unicodes before 3.0.1
Diffstat (limited to 'pp.c')
-rw-r--r-- | pp.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -4401,8 +4401,14 @@ PP(pp_fc) const U8 *send; U8 *d; U8 tmpbuf[UTF8_MAXBYTES_CASE + 1]; +#if UNICODE_MAJOR_VERSION > 3 /* no multifolds in early Unicode */ \ + || (UNICODE_MAJOR_VERSION == 3 && ( UNICODE_DOT_VERSION > 0) \ + || UNICODE_DOT_DOT_VERSION > 0) const bool full_folding = TRUE; /* This variable is here so we can easily move to more generality later */ +#else + const bool full_folding = FALSE; +#endif const U8 flags = ( full_folding ? FOLD_FLAGS_FULL : 0 ) #ifdef USE_LOCALE_CTYPE | ( IN_LC_RUNTIME(LC_CTYPE) ? FOLD_FLAGS_LOCALE : 0 ) |