Subject: bug#15045: Point jumps inappropriately around time of Semantic lexing

From: Eli Zaretskii <[email-masked]>
Date: Mon, 14 Oct 2013 22:51:07 +0300

> Date: Mon, 14 Oct 2013 15:32:40 -0400
> From: Barry OReilly <[email-masked]>
> Cc: David Engster <[email-masked]>, Stefan Monnier <[email-masked]>, 
> 	[email-masked], Eric Ludlam <[email-masked]>
> 
> Given this has come up again separately in bug 15567, may I make the
> change to input-pending-p?
> 
> diff --git a/src/keyboard.c b/src/keyboard.c
> index e0cd4d4..fdb7c7d 100644
> --- a/src/keyboard.c
> +++ b/src/keyboard.c
> @@ -9962,8 +9962,7 @@ if there is a doubt, the value is t.  */)
>    /* Process non-user-visible events (Bug#10195).  */
>    process_special_events ();
> 
> -  return (get_input_pending (READABLE_EVENTS_DO_TIMERS_NOW
> -                            | READABLE_EVENTS_FILTER_EVENTS)
> +  return (get_input_pending (READABLE_EVENTS_FILTER_EVENTS)
>           ? Qt : Qnil);
>  }
> 
> 'make check' passes.

FWIW, I'm against such changes.  You can never know how many places
will be subtly broken by changes like that in such a popular
interface.

The original problem is rare enough, and should IMO be fixed in the
code where it happens.  Making changes like above on behalf of such
marginal use cases is a tail wagging the dog.

> Eli Zaretskii:
> > What if input arrives because of a timer?
> 
> If this is an issue, I propose input-pending-p return t if a timer is
> ready to run.

Likewise: too serious change in behavior for too obscure a reason.