This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Silence spurious locale warnings
authorKarl Williamson <khw@cpan.org>
Sat, 15 Nov 2014 16:48:14 +0000 (09:48 -0700)
committerKarl Williamson <khw@cpan.org>
Sat, 15 Nov 2014 17:06:33 +0000 (10:06 -0700)
When testing the locales on the system, we don't want to be warned that
particular ones may not work well with Perl, as the point of the test is
to find and list the incompatibilities.

When looking for locales suitable for some purpose, we try every one
possible until we find one that matches what we're looking for.  This
may entail briefly switching into locales that aren't fully compatible
with Perl.  Again we don't want to be warned about such a locale.  We're
not using it for anything except to determine suitability anyway.

lib/locale.t
t/loc_tools.pl

index 2845f13..8a3d44b 100644 (file)
@@ -710,6 +710,8 @@ debug "Scanning for locales...\n";
 
 require POSIX; import POSIX ':locale_h';
 
+no warnings 'locale';  # We test even weird locales;
+
 my @Locale = find_locales([ &POSIX::LC_CTYPE, &POSIX::LC_NUMERIC, &POSIX::LC_ALL ]);
 
 debug "Locales =\n";
index 5406368..aa36f5d 100644 (file)
@@ -8,6 +8,11 @@
 # anyway later during the scanning process (and besides, some clueless
 # vendor might have them capitalized erroneously anyway).
 
+# Some of the locales on the system may not play well with Perl.  Since, we
+# may be trying every possible locale, we don't want to be warned about the
+# weird ones.
+no warnings 'locale';
+
 sub _trylocale {    # Adds the locale given by the first parameter to the list
                     # given by the 3rd iff the platform supports the locale in
                     # each of the categories given by the 2nd parameter, which