Subject: bug#22976: 24.5; setting unread-command-events to non cons puts emacs in 100% CPU use

From: Eyal Lotem <[email-masked]>
Date: Thu, 10 Mar 2016 14:40:24 +0200

On Thu, Mar 10, 2016 at 12:39 PM, Eli Zaretskii <[email-masked]> wrote:

> > Date: Thu, 10 Mar 2016 12:34:08 +0200
> > From: Eyal Lotem <[email-masked]>
> > Cc: Andreas Schwab <[email-masked]>, [email-masked]
> >
> > It can be set to any value at all, unfortunately.
>
> That's not what I asked.  I asked whether non-nil, non-cons values
> have any meaning in unread-command-events.
>

Don't think they do. They are an error.

>
> > The problem now is that non-cons/non-nil values are ignored.
> >
> > The loop to repeatedly thinks there's input so it consumes 100% cpu,
> each iteration seeing that it isn't a cons
> > cell, so there's "nothing to do".
>
> Exactly.  So these values aren't ignored, they create an illusion that
> some input is available.  I was thinking about ignoring them entirely,
> i.e. treating such values as nil (and maybe even silently replacing
> them with nil).
>

Ah, sorry I misunderstood originally!

That sounds good to me (though it would be slightly better to warn about it
somewhere, IMO)

>
> The question is: would that kind of change break something?
>

I think most scenarios it would break would be ones that currently consume
100% cpu. So besides scenarios like https://xkcd.com/1172/ it is unlikely :)

-- 
Eyal