AC_CHECK_HEADER/AC_CHECK_DECL 2.69->2.69c probably changed quoting, breaks gimp as "...: ${+y}: bad substitution"

Sergei Trofimovich <[email protected]>
Newsgroups gmane.comp.sysutils.autoconf.bugs
Message-ID <20201025141234.797e4d72@sf>
The failure initially observed on gimp-2.10.22 source and fails
the same way on gimp from git.

Smaller example extracted from
    https://gitlab.gnome.org/GNOME/gimp/-/blob/master/configure.ac#L2131

$ cat configure.ac
  AC_INIT([GIMP], [gimp_version], [https://gitlab.gnome.org/GNOME/gimp/issues/new], [gimp])
  AC_PROG_CC

  dnl Taken from gimp as is:

  #######################
  # Check for Linux Input
  #######################

  AC_ARG_WITH(linux-input, [  --without-linux-input   don't build linux input event controller module])

  have_linux_input="no (linux input support disabled)"
  if test "x$with_linux_input" != "xno"; then
    AC_CHECK_HEADER(linux/input.h,
          AC_CHECK_DECL(KEY_OK,
                  have_linux_input=yes,
                  have_linux_input="no (needs Linux 2.6)",
                  [#include <linux/input.h>]))
  fi

  AC_OUTPUT

Reproducing:

  $ autoconf-2.69 && ./configure --host=x86_64-pc-linux-gnu
  ...
  configure: creating ./config.status
  <ok>

  $ autoconf-2.70_beta2 && ./configure --host=x86_64-pc-linux-gnu
  ./configure: line 1430: 5: Bad file descriptor
  checking whether  is declared... ./configure: line 1432: ${+y}: bad substitution
  <fails>

"bad substitution" looks like an autoconf macro expansion
problem. Warning: I don't understand m4.

gimp's use of macros looks underquoted but I would expect
behavior to be roughly the same between 2.69 and 2.69c.
Does it sound about right? 

Thank you!

-- 

  Sergei
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.