Hello, Commit c98cb289 changed #ifdefs in unistr.in.h to #ifs. As a side-effect, this prevents compilation of users of this file, such as Guile, with ‘-Wundef’:
--8<---------------cut here---------------start------------->8--- In file included from bytevectors.c:43:0: ../lib/unistr.h:161:5: error: "GNULIB_UNISTR_U16_MBTOUC_UNSAFE" is not defined ../lib/unistr.h:184:5: error: "GNULIB_UNISTR_U32_MBTOUC_UNSAFE" is not defined ../lib/unistr.h: In function 'u32_mbtouc_unsafe': ../lib/unistr.h:195:7: error: "CONFIG_UNICODE_SAFETY" is not defined ../lib/unistr.h:199:7: error: "CONFIG_UNICODE_SAFETY" is not defined ../lib/unistr.h: At top level: ../lib/unistr.h:232:5: error: "GNULIB_UNISTR_U16_MBTOUC" is not defined ../lib/unistr.h:255:5: error: "GNULIB_UNISTR_U32_MBTOUC" is not defined ../lib/unistr.h:288:5: error: "GNULIB_UNISTR_U16_MBTOUCR" is not defined ../lib/unistr.h:293:5: error: "GNULIB_UNISTR_U32_MBTOUCR" is not defined ../lib/unistr.h:326:5: error: "GNULIB_UNISTR_U16_UCTOMB" is not defined ../lib/unistr.h:348:5: error: "GNULIB_UNISTR_U32_UCTOMB" is not defined make[1]: *** [libguile_2.0_la-bytevectors.lo] Error 1 --8<---------------cut here---------------end--------------->8--- In addition, a quick grep through Gnulib suggests that there’s no way for these macros to be defined: --8<---------------cut here---------------start------------->8--- $ grep -E '(CONFIG_UNICODE_SAFETY|GNULIB_UNISTR_U[0-9][0-9]_(MBTOUC|UCTOMB))' ~/src/gnulib/*/* /home/ludo/src/gnulib/lib/unistr.in.h:#if GNULIB_UNISTR_U16_MBTOUC_UNSAFE || HAVE_LIBUNISTRING /home/ludo/src/gnulib/lib/unistr.in.h:#if GNULIB_UNISTR_U32_MBTOUC_UNSAFE || HAVE_LIBUNISTRING /home/ludo/src/gnulib/lib/unistr.in.h:# if CONFIG_UNICODE_SAFETY /home/ludo/src/gnulib/lib/unistr.in.h:# if CONFIG_UNICODE_SAFETY /home/ludo/src/gnulib/lib/unistr.in.h:#if GNULIB_UNISTR_U16_MBTOUC || HAVE_LIBUNISTRING /home/ludo/src/gnulib/lib/unistr.in.h:#if GNULIB_UNISTR_U32_MBTOUC || HAVE_LIBUNISTRING /home/ludo/src/gnulib/lib/unistr.in.h:#if GNULIB_UNISTR_U16_MBTOUCR || HAVE_LIBUNISTRING /home/ludo/src/gnulib/lib/unistr.in.h:#if GNULIB_UNISTR_U32_MBTOUCR || HAVE_LIBUNISTRING /home/ludo/src/gnulib/lib/unistr.in.h:#if GNULIB_UNISTR_U16_UCTOMB || HAVE_LIBUNISTRING /home/ludo/src/gnulib/lib/unistr.in.h:#if GNULIB_UNISTR_U32_UCTOMB || HAVE_LIBUNISTRING --8<---------------cut here---------------end--------------->8--- Is it an omission, or am I missing something? Thanks, Ludo’.