This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add Perl_setlocale()
authorKarl Williamson <khw@cpan.org>
Fri, 16 Feb 2018 21:13:19 +0000 (14:13 -0700)
committerKarl Williamson <khw@cpan.org>
Sun, 18 Feb 2018 20:12:29 +0000 (13:12 -0700)
commit9aac5db886d0626569524a0be2a769ebb8078307
tree1fa1184f9ec9e92da6968cf49bb34ec6c2a1d367
parentc5dd0eb10ca118d8904fd359a7c626be58928d1b
Add Perl_setlocale()

khw could not find any modules on CPAN that correctly use the C library
function setlocale().  (The very few that do try, do not use it
correctly, looking at the return value incorrectly, so they are broken.)
This analysis does not include modules that call non-Perl libaries that
may call setlocale().

And, a future commit will render the setlocale() function useless in
some configurations on some platforms.

So this commit adds Perl_setlocale(), for XS code to call, and which is
always effective, but it should not be used to alter the locale except
on platforms where the predefined variable ${^SAFE_LOCALES} evaluates to
1.

This function is also what POSIX::setlocale() calls to do the real work.
embed.fnc
embedvar.h
ext/POSIX/POSIX.xs
intrpvar.h
locale.c
perl.c
pod/perldelta.pod
proto.h
sv.c