Hi Bruno, > Le 10 mai 2020 à 14:17, Bruno Haible <br...@clisp.org> a écrit : > > Hi Akim, > >> gl_SUBSTS([ >> GNULIB_ISWBLANK=0 >> GNULIB_ISWDIGIT=0 >> GNULIB_ISWXDIGIT=0 >> GNULIB_WCTYPE=0 >> GNULIB_ISWCTYPE=0 >> GNULIB_WCTRANS=0 >> GNULIB_TOWCTRANS=0 >> ]) >> >> which does not, to my eyes, suffer from all the defects you see. > > Yes, it does not degrade the ability to search for assignments. > > But it goes against the general processing of Autoconf: > > For an Autoconf macro, the input consists of identifier and shell statements. > The output is shell, and the shell statements given as arguments appear > in the output, unmodified except for m4 substitutions. Instead of a simple > shell statement, I can always use a complex shell statement instead. E.g. > AM_CONDITIONAL([WINDOWS_NATIVE], [test $is_windows_native = yes]) > > gl_SUBSTS would analyze its shell statement arguments. Other Autoconf > macros don't do this.
Some do. AC_CHECK_MEMBER comes to my mind. > It is not clear what would be the result of > gl_SUBSTS([ > if test $use_ctype_modules = yes; then > GNULIB_ISBLANK=0 > fi > if test $use_wctype_modules = yes; then > GNULIB_ISWBLANK=0 > fi > ]) That would be ill-defined. We could even make it a compile time error.