From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Yuan MEI Newsgroups: gmane.emacs.devel Subject: Re: Redisplay issue Date: Sun, 29 Nov 2015 15:35:04 -0800 Message-ID: References: <83fuzqr1iz.fsf@gnu.org> <8337vqqwz7.fsf@gnu.org> <83y4dhonng.fsf@gnu.org> <83two4olqj.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1448840131 3969 80.91.229.3 (29 Nov 2015 23:35:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 29 Nov 2015 23:35:31 +0000 (UTC) Cc: emacs-devel To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Nov 30 00:35:23 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1a3BV4-0002ep-NC for ged-emacs-devel@m.gmane.org; Mon, 30 Nov 2015 00:35:22 +0100 Original-Received: from localhost ([::1]:38199 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3BV8-0006Pv-E9 for ged-emacs-devel@m.gmane.org; Sun, 29 Nov 2015 18:35:26 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34459) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3BUq-0006Lb-FR for emacs-devel@gnu.org; Sun, 29 Nov 2015 18:35:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a3BUp-00019S-AQ for emacs-devel@gnu.org; Sun, 29 Nov 2015 18:35:08 -0500 Original-Received: from mail-ig0-x236.google.com ([2607:f8b0:4001:c05::236]:38156) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3BUn-00017B-Hc; Sun, 29 Nov 2015 18:35:05 -0500 Original-Received: by igbxm8 with SMTP id xm8so60475611igb.1; Sun, 29 Nov 2015 15:35:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=rTqdlnP0ecRtalAAU2x8b8rl67pMqHoOE5X4umxH0pg=; b=ba/5ox5ZAGf40f/FrtWyQXm2C0ghsj4tOgnUuKi9BKe7ncJajyFjR4fhETE2MHCvzc X6gRs9cxgjJIqNW39nkNKT+91/kaVzSGBuRXq/+hFagJPfZo+yFc9HFDEYPFAGN6fDfW 1HREqiI4oUbE13trfE3IvwsOoa5QI33PnK6Ug5hZbGpd0zxwpDOLuKbfn6giXlhsLcwN 5VuBBwVPHxemqUz2rTaYEhM08OFXTZUriftHTd1sD1UErE7jDd2jHDH6nBBJ0uHizaX1 Q0/oDmNacL4W6zPqn0S5njhqjwvmt9eZvJhVxCipVoj1wUArCwAVPUiamb6raMt5/QwB eDjA== X-Received: by 10.50.43.199 with SMTP id y7mr13302937igl.47.1448840105055; Sun, 29 Nov 2015 15:35:05 -0800 (PST) Original-Received: by 10.107.14.143 with HTTP; Sun, 29 Nov 2015 15:35:04 -0800 (PST) In-Reply-To: <83two4olqj.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4001:c05::236 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:195584 Archived-At: > 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