unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Yuan MEI <yuan.mei.list@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel <emacs-devel@gnu.org>
Subject: Re: Redisplay issue
Date: Sun, 29 Nov 2015 15:35:04 -0800	[thread overview]
Message-ID: <CANGGyWaWpjxmLFGN1uAohEi0uLEVTK6JGBYz4O3inYq=2efQCg@mail.gmail.com> (raw)
In-Reply-To: <83two4olqj.fsf@gnu.org>

> I don't understand how Emacs could redraw only partially, if it
> received the correct coordinates of the exposed region.  I might be
> able to understand how nothing could be redrawn, but partially?..
> There's something I'm missing here.
>
> Can you build your own Emacs?  The display engine can produce a trace
> of what it does, but it isn't compiled by default.  If you can build
> Emacs, then please configure with --enable-checking='yes,glyphs', then
> type "M-x trace-redisplay RET" inside Emacs, and post here everything
> it outputs to stderr starting with "expose_frame" when you succeed to
> reproduce this again.
>
> If you cannot build Emacs, then perhaps you could step with a debugger
> inside expose_frame and its subroutines, and tell what's going one
> there.

This is when redisplay works normally:

>>> right after window exposure

redisplay_preserve_echo_area (8)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
redisplay_preserve_echo_area (9)
redisplay_internal 0
expose_frame (0, 0, 170, 1026)
expose_window (1, 1, 168, 1024)
expose_window (1, 0, 168, 0)
expose_window (1, 0, 168, 0)
expose_frame (0, 0, 818, 1026)
expose_window (1, 17, 816, 992)
expose_window (1, 1009, 816, 16)
expose_window (1, 16, 816, 0)
expose_window (1, 0, 816, 16)

>>> some time pause here, although nothing else (mouse is outside of Emacs, no mouse movement or key press)

redisplay_preserve_echo_area (8)
redisplay_internal 0
redisplay_preserve_echo_area (9)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1

This is when partial redraw happened:

redisplay_preserve_echo_area (8)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
redisplay_preserve_echo_area (9)
redisplay_internal 0
expose_frame (0, 0, 170, 1026)
expose_window (1, 1, 168, 1024)
expose_window (1, 0, 168, 0)
expose_window (1, 0, 168, 0)
expose_frame (0, 0, 818, 1026)
expose_window (1, 17, 816, 992)
expose_window (1, 1009, 816, 16)
expose_window (1, 16, 816, 0)
expose_window (1, 0, 816, 16)
redisplay_preserve_echo_area (8)
redisplay_internal 0
redisplay_preserve_echo_area (9)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
redisplay_preserve_echo_area (8)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
redisplay_preserve_echo_area (9)
redisplay_internal 0
redisplay_preserve_echo_area (8)
redisplay_internal 0
redisplay_preserve_echo_area (9)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1

>>> I switched to another virtual desktop then came back, redraw remained incorrect but the following showed up in the log

redisplay_preserve_echo_area (9)
redisplay_internal 0
expose_frame (0, 0, 170, 1026)
expose_window (1, 1, 168, 1024)
expose_window (1, 0, 168, 0)
expose_window (1, 0, 168, 0)
expose_frame (0, 0, 818, 1026)
expose_window (1, 17, 816, 992)
expose_window (1, 1009, 816, 16)
expose_window (1, 16, 816, 0)
expose_window (1, 0, 816, 16)

>>> switched out and back again, finding the entire frame showing only the background color, no menu or status bar

redisplay_preserve_echo_area (8)
redisplay_internal 0
redisplay_preserve_echo_area (9)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
expose_frame (0, 0, 170, 1026)
expose_window (1, 1, 168, 1024)
expose_window (1, 0, 168, 0)
expose_window (1, 0, 168, 0)
expose_frame (0, 0, 818, 1026)
expose_window (1, 17, 816, 992)
expose_window (1, 1009, 816, 16)
expose_window (1, 16, 816, 0)
expose_window (1, 0, 816, 16)

>>> a few seconds of time pause, then a few glyphs showed up in the status bar

redisplay_preserve_echo_area (8)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
redisplay_preserve_echo_area (9)
redisplay_internal 0

Any ideas?

Thanks,

Yuan



  reply	other threads:[~2015-11-29 23:35 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-27 22:31 Redisplay issue Yuan MEI
2015-11-28  8:06 ` Eli Zaretskii
2015-11-28  8:27   ` Yuan MEI
2015-11-28  9:44     ` Eli Zaretskii
2015-11-28 20:19       ` Yuan MEI
2015-11-28 20:49         ` Eli Zaretskii
2015-11-29  2:54           ` Yuan MEI
2015-11-29 15:42             ` Eli Zaretskii
2015-11-29 23:35               ` Yuan MEI [this message]
2015-11-30 16:16                 ` Eli Zaretskii
2015-12-01  4:51                   ` Yuan MEI
2015-12-01 16:01                     ` Eli Zaretskii
2015-12-02  4:35                       ` Yuan MEI
2015-12-02 13:57                         ` Eli Zaretskii
2015-12-03  4:55                           ` Yuan MEI
2015-12-03  7:47                             ` Eli Zaretskii
2015-12-03  8:09                               ` Yuan MEI
2015-12-03 10:23                                 ` Eli Zaretskii
2015-12-03 18:16                                 ` martin rudalics
2015-12-03 21:23                                   ` Yuan MEI
2015-12-04  8:08                                     ` martin rudalics
2015-12-04  8:30                                       ` Yuan MEI
2015-12-04  8:48                                         ` martin rudalics
2015-12-04  8:54                                           ` Yuan MEI
2015-12-04  8:56                                           ` martin rudalics
2015-12-04  9:00                                             ` Yuan MEI
2015-12-04  9:05                                               ` martin rudalics
2015-12-04  9:47                                                 ` Eli Zaretskii
2015-12-04 10:21                                                   ` martin rudalics
2015-12-04 11:01                                                     ` Eli Zaretskii
2015-12-04 11:12                                                       ` Eli Zaretskii
2015-12-05  0:25                                                   ` YAMAMOTO Mitsuharu
2015-12-05  9:17                                                     ` Eli Zaretskii
2015-12-06  0:49                                                       ` Yuan MEI
2015-12-07  3:33                                                         ` YAMAMOTO Mitsuharu
2015-12-07 17:19                                                           ` Eli Zaretskii
2015-12-08  4:03                                                             ` YAMAMOTO Mitsuharu
2015-12-11  8:48                                                               ` Eli Zaretskii
2015-11-28 21:44   ` joakim
2015-11-29  0:14     ` Yuan MEI

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CANGGyWaWpjxmLFGN1uAohEi0uLEVTK6JGBYz4O3inYq=2efQCg@mail.gmail.com' \
    --to=yuan.mei.list@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).