On 2024-02-06 22:33, Sam James wrote:
> Noticed when building Emacs:
> ```
> * checking type of array argument to getgroups... ./configure: 42782: test: 
> =: unexpected operator
> ```
> This turns out to be because of missing quotes in AS_IF for
> ac_cv_type_gid_t in AC_TYPE_GETGROUPS.

No, I don't think this is the right fix.  The lack of shell quotation is
not the cause of this problem.

In the AC_TYPE_GETGROUPS macro, ac_cv_type_gid_t should not be empty,
because Autoconf has code to assign this variable to a nonempty value.
The fact that it is suggests the problem is elsewhere.

Oh look, I see this line in emacs-29.2/configure.ac:

  AC_DEFUN([AC_TYPE_UID_T])

This is the actual cause of the problem, because AC_TYPE_UID_T is the
part of Autoconf that would have assigned this variable.  Since Emacs
has deleted its definition, it has therefore broken other Autoconf
macros (like AC_TYPE_GETGROUPS) which depend on it.

I don't think it's right to work around damage like this in Autoconf.

The right place to fix this problem is in Emacs.

Cheers,
  Nick

Reply via email to