Subject: Re: bug#8890: 23.3; message writing slows emacs

From: Stefan Monnier <[email-masked]>
Date: Sun, 18 Sep 2011 09:16:43 -0400

>>> If it's been less than (say) 50th of a second since the previous
>>> message, then don't message anything.  However, set up a timer in a
>>> 100th of a second's time to display that message -- if nothing else has
>>> been displayed in the mean time.
>> That's much too tricky to implement.  Making it reliable is going to
>> be painful.
> Is it getting a timer to work that's tricky?

Yes, getting the timer to work, canceling it when needed, etc...  It's
fiddly.  Especially when compared to the simplicity of
progress-reporter-update/progress-reporter-done.

> If we're not going to make `message' just behave, then a function pair
> like `message-maybe' (which wouldn't output anything that arrives too
> fast) and a `message-flush' (to say that we're finished with the dubious
> messaging) might do the trick.

They exist and are called progress-reporter-update and
progress-reporter-done respectively.  They just need to be improved to
allow non-numerical non-nil updates.

        Stefan