unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* What triggers a redisplay when no command or timer?
@ 2017-09-07  4:57 Keith David Bershatsky
  2017-09-07 14:50 ` Eli Zaretskii
  0 siblings, 1 reply; 3+ messages in thread
From: Keith David Bershatsky @ 2017-09-07  4:57 UTC (permalink / raw)
  To: Emacs Devel

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.

Thanks,

Keith



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: What triggers a redisplay when no command or timer?
  2017-09-07  4:57 What triggers a redisplay when no command or timer? Keith David Bershatsky
@ 2017-09-07 14:50 ` Eli Zaretskii
  0 siblings, 0 replies; 3+ messages in thread
From: Eli Zaretskii @ 2017-09-07 14:50 UTC (permalink / raw)
  To: Keith David Bershatsky; +Cc: emacs-devel

> Date: Wed, 06 Sep 2017 21:57:26 -0700
> From: Keith David Bershatsky <esq@lawlist.com>
> 
> 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.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: What triggers a redisplay when no command or timer?
@ 2017-09-07 16:43 Keith David Bershatsky
  0 siblings, 0 replies; 3+ messages in thread
From: Keith David Bershatsky @ 2017-09-07 16:43 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Thank you, Eli, for teaching me to make better use of the gdb breakpoint facilities and for letting me know that Emacs may not be responsible for triggering the redisplay at issue.  I look forward to examining this issue further as time permits.

Your help and insight is greatly appreciated.

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DATE:  [09-07-2017 07:50:20] <07 Sep 2017 17:50:20 +0300>
FROM:  Eli Zaretskii <eliz@gnu.org>
> 
> * * *
> 
> 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.



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-09-07 16:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-07  4:57 What triggers a redisplay when no command or timer? Keith David Bershatsky
2017-09-07 14:50 ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2017-09-07 16:43 Keith David Bershatsky

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).