emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: mouse-autoselect-window with menu pane


From: Marshall, Simon
Subject: RE: mouse-autoselect-window with menu pane
Date: Tue, 19 Sep 2006 09:38:22 +0100

> >> Increment of the counter is suspended during the file dialog/menu 
> >> operation.  And after the operation, the timer fires multiple times 
> >> continuously until the counter catches up the value that it would be 
> >> if no file dialog/menu were activated.
> 
> > Weird.  Suppose `mouse-autoselect-window-select' cancels the timer 
> > after it fired the nth time, for some n > 2.  There's no reason why 
> > the timer was not cancelled when it fired the (n - 1)th time.
> > What's even more troubling: There's no reason why the timer shouldn't 
> > fire a (n + 1)th time.
> 
> My description above is about the count-up example in Simon's message.
> You can observe a similar behavior using the example and "M-! sleep 5 RET"

Funnily enough, "weird" was the exact word I used in an email too.  But then
I thought buffering up the timers to run later might be the most logical
thing to do, in the circumstances.  Maybe it makes more sense than not
running the timers at all.  After all, as I'm sure the documentation aught
to say, the timer will be repeated *as soon as possible* after REPEAT
seconds.  The behaviour is consistent at that level.  A very quick simple
test shows the behaviour seems consistent if the function run by the timer
cancels the timer, when the function is run later due to buffering up of
timers, in the scenario you describe.

I found that buffering up of timers also occurs under X, at least for popups
of the sort you get from File > Open Directory...  Under X, timers are
buffered up when the mouse is within the popup (though they are run as you
go in/out of the Filter, Directory, Files and Selection areas).  I'm not
sure why that needs to be so for this particular case though.

You learn something every day.  At least, I do about Emacs.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]