From 2e5d6f04bcd5b24d76cd2a3c3876adcb6d826c82 Mon Sep 17 00:00:00 2001 From: GNU Libc Maintainers Date: Wed, 30 Apr 2025 09:01:35 +0800 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 e2e309c2a..d153c607f 100644 --- a/locale/programs/locale.c +++ b/locale/programs/locale.c @@ -796,11 +796,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 f37d45272..7d3c016f5 100644 --- a/locale/tst-locale-locpath.sh +++ b/locale/tst-locale-locpath.sh @@ -54,6 +54,7 @@ EOF cat > "$testroot/stdout-expected" <