On Thu, Mar 10, 2016 at 12:39 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> Date: Thu, 10 Mar 2016 12:34:08 +0200
> From: Eyal Lotem <eyal.lotem@gmail.com>
> Cc: Andreas Schwab <schwab@suse.de>, 22976@debbugs.gnu.org
>
> 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