[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#50067: Context menus
From: |
Eli Zaretskii |
Subject: |
bug#50067: Context menus |
Date: |
Thu, 25 Nov 2021 10:38:44 +0200 |
> From: Juri Linkov <juri@linkov.net>
> Date: Thu, 25 Nov 2021 09:50:40 +0200
>
> --- a/src/callint.c
> +++ b/src/callint.c
> @@ -367,7 +367,7 @@ DEFUN ("call-interactively", Fcall_interactively,
> Scall_interactively, 1, 3, 0,
> event with parameters. */
> ptrdiff_t next_event;
> for (next_event = 0; next_event < key_count; next_event++)
> - if (EVENT_HAS_PARAMETERS (AREF (keys, next_event)))
> + if (inhibit_mouse_event_check || EVENT_HAS_PARAMETERS (AREF (keys,
> next_event)))
> break;
>
> /* Handle special starting chars `*' and `@'. Also `-'. */
> @@ -618,6 +618,7 @@ DEFUN ("call-interactively", Fcall_interactively,
> Scall_interactively, 1, 3, 0,
> do
> next_event++;
> while (next_event < key_count
> + && ! inhibit_mouse_event_check
> && ! EVENT_HAS_PARAMETERS (AREF (keys, next_event)));
>
> break;
Why check this condition inside the loops, rather than avoid entering
the loops when the condition is right, in the first place?
And please add comments there explaining the meaning of the
inhibit_mouse_event_check test.
Thanks.