Subject: bug#58771: 29.0.50; context submenu can not click when run emacs lucid build.

From: Po Lu <[email-masked]>
Date: Thu, 12 Jan 2023 09:22:35 +0800

Mike Kupfer <[email-masked]> writes:

> Po Lu wrote:
>
>> Mike Kupfer <[email-masked]> writes:
>> 
>> > I don't even need to rerun configure.  I just added a debug fprintf to
>> > pop_up_menu(), rebuilt Emacs, and the problem vanished.
>> 
>> Would you please send me the two different binaries?
>
> Hmm, the binary is 36MB (and the pdmp file is 12MB).  That's too big, I
> think, to send by email.
>
>> I have a hunch.  If you touch globals.h in src, does it result in files
>> under the lwlib directory being rebuilt?
>
> Good call.  Nothing in lwlib gets rebuilt:
>
> -----8<-----8<-----
> -*- mode: compilation; default-directory: "~/src/emacs-git/" -*-
> Compilation started at Wed Jan 11 12:33:43
>
> make
> make actual-all || make advice-on-failure make-target=all exit-status=$?
> make[1]: Entering directory '/home/kupfer/src/emacs-git'
> make -C lib all
> make[2]: Entering directory '/home/kupfer/src/emacs-git/lib'
> make[2]: Nothing to be done for 'all'.
> make[2]: Leaving directory '/home/kupfer/src/emacs-git/lib'
> make -C lib-src all
> make[2]: Entering directory '/home/kupfer/src/emacs-git/lib-src'
> make[2]: Nothing to be done for 'all'.
> make[2]: Leaving directory '/home/kupfer/src/emacs-git/lib-src'
> make -C src BIN_DESTDIR=''/usr/new/bin/'' \
> 	 ELN_DESTDIR='/usr/new/lib/emacs/29.0.60/' all
> make[2]: Entering directory '/home/kupfer/src/emacs-git/src'
> make -C ../lwlib/ liblw.a
> make[3]: Entering directory '/home/kupfer/src/emacs-git/lwlib'
> make[3]: 'liblw.a' is up to date.
> make[3]: Leaving directory '/home/kupfer/src/emacs-git/lwlib'
>   CC       dispnew.o
>   CC       frame.o
>   CC       scroll.o
>   CC       xdisp.o
>   CC       menu.o
>   CC       xmenu.o
> ...
> ----->8----->8-----

I guess that's the problem then.  Emacs is using lwlib compiled with an
out of date libgnu.a.

So what I'd like to do is to remove the reference to
`lucid__menu_grab_keyboard' in the first place, and replace it with a
define.  Any objections?