From d75292d33ed8a8369d789a3f614e893d8183eee6 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Thu, 19 Jun 2025 15:37:57 +0100 Subject: [PATCH] Who even uses this "Windows" thing...? --- Lib/gettext.py | 2 +- Lib/test/test_gettext.py | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Lib/gettext.py b/Lib/gettext.py index f26bd67d2a4..40087b1cee2 100644 --- a/Lib/gettext.py +++ b/Lib/gettext.py @@ -493,7 +493,7 @@ def find(domain, localedir=None, languages=None, all=False): languages = [] if val := os.environ.get('LANGUAGE'): languages = val.split(':') - elif loc := locale.setlocale(locale.LC_MESSAGES): + elif os.name == 'posix' and (loc := locale.setlocale(locale.LC_MESSAGES)): languages = loc.split(':') else: for envar in ('LC_ALL', 'LC_MESSAGES', 'LANG'): diff --git a/Lib/test/test_gettext.py b/Lib/test/test_gettext.py index 4f994f6a22e..e442d4b60d4 100644 --- a/Lib/test/test_gettext.py +++ b/Lib/test/test_gettext.py @@ -771,18 +771,20 @@ def test_encoding_not_ignored(self, patch_expand_lang): patch_expand_lang.assert_any_call('ga_IE.UTF-8') self.env.unset('LANGUAGE') + @unittest.skipIf(os.name != "posix", "LC_MESSAGES is posix only") def test_find_LANGUAGE_priority(self): - orig = locale.setlocale(locale.LC_MESSAGES) - self.addCleanup(lambda: locale.setlocale(locale.LC_MESSAGES, orig)) self.env.set('LANGUAGE', 'ga_IE') self.env.set('LC_ALL', 'pt_BR') - locale.setlocale(locale.LC_MESSAGES, 'pt_BR') + if os.name != "posix": + orig = locale.setlocale(locale.LC_MESSAGES) + self.addCleanup(lambda: locale.setlocale(locale.LC_MESSAGES, orig)) + locale.setlocale(locale.LC_MESSAGES, 'pt_BR') mo_file = self.create_mo_file("ga_IE") result = gettext.find("mofile", localedir=os.path.join(self.tempdir, "locale")) self.assertEqual(result, mo_file) - locale.setlocale(locale.LC_MESSAGES, orig) + @unittest.skipIf(os.name != "posix", "LC_MESSAGES is posix only") def test_process_vars_override(self): orig = locale.setlocale(locale.LC_MESSAGES) self.addCleanup(lambda: locale.setlocale(locale.LC_MESSAGES, orig))