emacs-devel
[Top][All Lists]
Advanced

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

Re: What triggers a redisplay when no command or timer?


From: Eli Zaretskii
Subject: Re: What triggers a redisplay when no command or timer?
Date: Thu, 07 Sep 2017 17:50:20 +0300

> Date: Wed, 06 Sep 2017 21:57:26 -0700
> From: Keith David Bershatsky <address@hidden>
> 
> I would like to insert a GLYPH_DEBUG message into xdisp.c to let me know that 
> "UNKNOWN" triggered a redisplay when there is no command and/or timer 
> function at issue.
> 
> Step 1:  On OSX (and maybe other Emacs OS builds), start GUI version of 
> master branch built with Glyph Debug support.
> 
> Step 2:  Turn off blink-cursor-mode.
> 
> Step 3:  Remove the jit-lock timer function with (setq timer-idle-list nil)
> 
> Step 4:  Check the timer-list and timer-idle-list to ensure they are nil.
> 
> Step 5:  M-x trace-redisplay
> 
> Step 6:  Wait 1 to 2 minutes and watch how a redisplay is triggered with 
> nothing more helpful than a singular `redisplay_internal 0` message.
> 
> I would also like to please understand what this "UNKNOWN" event is and where 
> it comes from.

I don't see here what you describe.  Emacs is sitting doing nothing
and not entering redisplay, if I take care not to move the mouse
and/or having the Emacs frame have focus.

But you don't need us to answer your question: just run Emacs under a
debugger, put a breakpoint in redisplay_internal, and when it breaks,
look at the backtrace.  If you cannot figure out what you see, post
the backtrace here.

In general any event provided by any input source, including messages
from the window-system, could potentially cause what you describe.

Note that the trace message you are citing means just that Emacs
entered redisplay, but it doesn't mean something will actually be
redisplayed, because redisplay_internal could return right away under
some conditions.



reply via email to

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