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.

Reply via email to