]> granicus.if.org Git - python/commit
bpo-30647: Check nl_langinfo(CODESET) in locale coercion (GH-2374)
authorNick Coghlan <ncoghlan@gmail.com>
Thu, 29 Jun 2017 14:48:14 +0000 (00:48 +1000)
committerGitHub <noreply@github.com>
Thu, 29 Jun 2017 14:48:14 +0000 (00:48 +1000)
commit18974c35ad9d25ffea041dc0363dc01889f4a595
treeabdacbf17346c452417371bbe8503b7e8e500102
parentf7d090c165f6cd3d008fe60c78e5324caef53f80
bpo-30647: Check nl_langinfo(CODESET) in locale coercion (GH-2374)

- On some versions of FreeBSD, setting the "UTF-8" locale
  succeeds, but a subsequent "nl_langinfo(CODESET)" fails
- adding a check for this in the coercion logic means that
  coercion will happen on systems where this check succeeds,
  and will be skipped otherwise
- that way CPython should automatically adapt to changes in
  platform behaviour, rather than needing a new release to
  enable coercion at build time
- this also allows UTF-8 to be re-enabled as a coercion
  target, restoring the locale coercion behaviour on Mac OS X
Lib/test/test_c_locale_coercion.py
Python/pylifecycle.c