Bug#931139: perl: switching locales no longer invalidates gettext translation cache
Niko Tyni
ntyni at debian.org
Wed Jun 26 22:08:53 BST 2019
Package: perl
Version: 5.28.1-6
Severity: important
As discussed in #924657, glibc has a cache of already loaded translations
that gets invalidated (by incrementing _nl_msg_cat_cntr) in setlocale(3),
bindtextdomain(3) and textdomain(3) but not uselocale(3).
Starting with Perl 5.28, Perl uses POSIX 2008 thread-safe locales, so
it calls uselocale(3) underneath when the Perl side POSIX::setlocale()
function is invoked.
This makes gettext think that a translation for the new locale is already
loaded when it really corresponds to the old locale.
While this is a 5.28 regression for Perl, it's not clear to me
whether glibc is working correctly here or not.
--
Niko Tyni ntyni at debian.org
More information about the Perl-maintainers
mailing list