Subject: bug#65142: 30.0.50; configure --without-all does not disable some features

From: Ulrich Mueller <[email-masked]>
Date: Tue, 08 Aug 2023 16:41:40 +0200

>>>>> On Tue, 08 Aug 2023, Eli Zaretskii wrote:

> Thanks, but the proposed patch affects any option that is by default
> "ifavailable", doesn't it?  If so, the patch is probably good for
> master, but for the emacs-29 branch I'd prefer a safer change which
> only affects the above two options.  Is that possible?

I had aimed for the master branch. :) It should also be o.k. for
emacs-29, because json and tree-sitter are the only options that use
OPTION_DEFAULT_IFAVAILABLE:

$ grep OPTION_DEFAULT_IFAVAILABLE configure.ac
dnl OPTION_DEFAULT_IFAVAILABLE(NAME, HELP-STRING)
AC_DEFUN([OPTION_DEFAULT_IFAVAILABLE], [dnl
OPTION_DEFAULT_IFAVAILABLE([json], [compile with native JSON support])
OPTION_DEFAULT_IFAVAILABLE([tree-sitter], [compile with tree-sitter])

A diff of the generated configure file with and without the patch
confirms that no other option defaults are changed.

(There are other options that can have "ifavailable" as their value, but
none of them uses the macro that is patched.)