Hi Jim,

> I wanted to update sed to latest gnulib, but found that the new
> nl_langinfo tests would fail on fedora 27 with glibc-2.26, where
> nl_langinfo (ALTMON_1) returns the empty string:
> 
> FAIL: test-nl_langinfo.sh
> =========================
> 
> test-nl_langinfo.c:95: assertion 'strlen (nl_langinfo (ALTMON_1)) > 0' failed
> ./test-nl_langinfo.sh: line 3: 10789 Aborted                 (core
> dumped) LC_ALL=C ./test-nl_langinfo${EXEEXT} 0
> FAIL test-nl_langinfo.sh (exit status: 1)

I could swear I had tested this, but apparently I had only tested the
'langinfo' module, not the 'nl_langinfo' module. Fixed:


2018-02-04  Bruno Haible  <br...@clisp.org>

        nl_langinfo: Override the system's nl_langinfo() when needed.
        Reported by Jim Meyering.
        * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
        also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.

diff --git a/m4/nl_langinfo.m4 b/m4/nl_langinfo.m4
index 9ac25f0..82d4750 100644
--- a/m4/nl_langinfo.m4
+++ b/m4/nl_langinfo.m4
@@ -1,4 +1,4 @@
-# nl_langinfo.m4 serial 5
+# nl_langinfo.m4 serial 6
 dnl Copyright (C) 2009-2018 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -36,8 +36,11 @@ AC_DEFUN([gl_FUNC_NL_LANGINFO],
     AC_DEFINE_UNQUOTED([FUNC_NL_LANGINFO_YESEXPR_WORKS],
       [$FUNC_NL_LANGINFO_YESEXPR_WORKS],
       [Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string.])
-    if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \
-        && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then
+    if test $HAVE_LANGINFO_CODESET = 1 \
+       && test $HAVE_LANGINFO_T_FMT_AMPM = 1 \
+       && test $HAVE_LANGINFO_ALTMON = 1 \
+       && test $HAVE_LANGINFO_ERA = 1 \
+       && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then
       :
     else
       REPLACE_NL_LANGINFO=1


Reply via email to