I don't think it uses an explicit list of locale names. It looks like it's detected via toupper/tolower misbehaviour.

Clone the git repo (git://perl5.git.perl.org/perl.git) then look at the diff for the commit in question:

~/git/perl$ git diff 30d8090de81085bd3dff00c83a7ab6d3ff8dfc8d^! diff --git a/locale.c b/locale.c index 383b2137c0..07e5525c10 100644 --- a/locale.c +++ b/locale.c @@ -1507,6 +1507,7 @@ S_new_ctype(pTHX_ const char *newctype)        /* Don't check for problems if we are suppressing the warnings */      bool check_for_problems = ckWARN_d(WARN_LOCALE) || UNLIKELY(DEBUG +_L_TEST); +    bool maybe_utf8_turkic = FALSE;        PERL_ARGS_ASSERT_NEW_CTYPE;   @@ -1523,6 +1524,14 @@ S_new_ctype(pTHX_ const char *newctype)       * handle this specially because of the three problematic code po +ints */      if (PL_in_utf8_CTYPE_locale) {          Copy(PL_fold_latin1, PL_fold_locale, 256, U8); + +        /* UTF-8 locales can have special handling for 'I' and 'i' if + they are +         * Turkic.  Make sure these two are the only anomalies.  (We +don't use +         * towupper and towlower because they aren't in C89.) */ +        if (toupper('i') == 'i' && tolower('I') == 'I') { +            check_for_problems = TRUE; +            maybe_utf8_turkic = TRUE; +        }      }        /* We don't populate the other lists if a UTF-8 locale, but do ch +eck that @@ -1668,7 +1677,18 @@ S_new_ctype(pTHX_ const char *newctype)              }          }   +        if (bad_count == 2 && maybe_utf8_turkic) { +            bad_count = 0; +            *bad_chars_list = '\0'; +            PL_fold_locale['I'] = 'I'; +            PL_fold_locale['i'] = 'i'; +            PL_in_utf8_turkic_locale = TRUE; +            DEBUG_L(PerlIO_printf(Perl_debug_log, "%s:%d: %s is turki +c\n", +                                                 __FILE__, __LINE__, +newctype));

Mike

In reply to Re^3: [5.30] What counts as a Turkic locale? by RMGir
in thread [5.30] What counts as a Turkic locale? by daxim

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.