From 87ada6058438071349ca7b34f6835cb89bbb9faf Mon Sep 17 00:00:00 2001 From: GNU Libc Maintainers Date: Thu, 17 Jul 2025 13:21:32 +0200 Subject: [PATCH] locale-print-LANGUAGE Comments tell that LANG has to be the first value, and LC_ALL the last one. Thus LANGUAGE is printed between them. # DP: Dpatch author: Denis Barbier # DP: Patch author: Denis Barbier # DP: Upstream status: not submitted # DP: Date: 2006-01-08 Gbp-Pq: Topic locale Gbp-Pq: Name locale-print-LANGUAGE.diff --- locale/programs/locale.c | 4 ++++ locale/tst-locale-locpath.sh | 1 + 2 files changed, 5 insertions(+) diff --git a/locale/programs/locale.c b/locale/programs/locale.c index 7e8832dc3..0feef25f9 100644 --- a/locale/programs/locale.c +++ b/locale/programs/locale.c @@ -797,11 +797,15 @@ static void show_locale_vars (void) { const char *lcall = getenv ("LC_ALL") ?: ""; + const char *language = getenv ("LANGUAGE") ?: ""; const char *lang = getenv ("LANG") ?: ""; /* LANG has to be the first value. */ print_assignment ("LANG", lang, false); + if (getenv ("POSIXLY_CORRECT") == NULL) + printf ("LANGUAGE=%s\n", language); + /* Now all categories in an unspecified order. */ for (size_t cat_no = 0; cat_no < NCATEGORIES; ++cat_no) if (cat_no != LC_ALL) diff --git a/locale/tst-locale-locpath.sh b/locale/tst-locale-locpath.sh index 5c5b7610a..e57440dcf 100644 --- a/locale/tst-locale-locpath.sh +++ b/locale/tst-locale-locpath.sh @@ -54,6 +54,7 @@ EOF cat > "$testroot/stdout-expected" <