# standard output.
#
# By default, the user's own LC_CTYPE is preferred. Otherwise, the first
-# match in the output of "locale -a" is chosen.
+# match in the output of "locale -a" is chosen, unless that starts with
+# "C" in which case we prefer the next one.
m4_defun_once([_TEST_NLS_SETUP], [m4_divert_push([HEADER-COPYRIGHT])
# save user locale setting before m4sh clobbers it
$[1] = ""; sub(/^ "/, ""); sub(/"$/, ""); print
}'`
- LC_ALL=$save_LC_ALL
+ LC_ALL=$save_LC_ALL found_locale=
if test_check_locale_charmap "$init_ctype" "$re"; then
- AS_ECHO(["$init_ctype"])
- return;
+ found_locale=$init_ctype
fi
- set x `locale -a | grep "$re"`; shift
- for arg; do
- if test_check_locale_charmap "$arg" "$re"; then
- AS_ECHO(["$arg"])
- return;
- fi
- done
+ case $found_locale in
+ C*|"")
+ set x `locale -a | grep "$re"`; shift
+ for arg; do
+ if test_check_locale_charmap "$arg" "$re"; then
+ found_locale=$arg;
+ case $found_locale in
+ C*) :;;
+ *) break ;;
+ esac
+ fi
+ done
+ ;;
+ esac
+
+ test ${found_locale+y} && {
+ AS_ECHO(["found matching locale $found_locale"]) >&AS_MESSAGE_LOG_FD
+ LC_ALL=$found_locale locale >&AS_MESSAGE_LOG_FD 2>&1
+ AS_ECHO(["$found_locale"])
+ }
}
m4_divert_pop([PREPARE_TESTS])
])