From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#16736: Compiling a Lisp file causes display to flash off and on Date: Sun, 16 Feb 2014 18:17:32 +0200 Message-ID: <83zjlr9gmb.fsf@gnu.org> References: <96vbwj696i.fsf@fencepost.gnu.org> <83lhxecftk.fsf@gnu.org> <2smwhurv74.fsf@fencepost.gnu.org> <83iosgbx6b.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1392567490 24060 80.91.229.3 (16 Feb 2014 16:18:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 16 Feb 2014 16:18:10 +0000 (UTC) Cc: 16736@debbugs.gnu.org To: Glenn Morris Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Feb 16 17:18:17 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1WF4Q5-00042I-5r for geb-bug-gnu-emacs@m.gmane.org; Sun, 16 Feb 2014 17:18:17 +0100 Original-Received: from localhost ([::1]:33989 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WF4Q4-0002p5-CP for geb-bug-gnu-emacs@m.gmane.org; Sun, 16 Feb 2014 11:18:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43865) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WF4Pw-0002oz-02 for bug-gnu-emacs@gnu.org; Sun, 16 Feb 2014 11:18:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WF4Pq-0000UY-5P for bug-gnu-emacs@gnu.org; Sun, 16 Feb 2014 11:18:07 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:53740) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WF4Pq-0000UT-1w for bug-gnu-emacs@gnu.org; Sun, 16 Feb 2014 11:18:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WF4Pp-0007hL-Pg for bug-gnu-emacs@gnu.org; Sun, 16 Feb 2014 11:18:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 16 Feb 2014 16:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16736 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 16736-submit@debbugs.gnu.org id=B16736.139256746229562 (code B ref 16736); Sun, 16 Feb 2014 16:18:01 +0000 Original-Received: (at 16736) by debbugs.gnu.org; 16 Feb 2014 16:17:42 +0000 Original-Received: from localhost ([127.0.0.1]:54922 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WF4PU-0007gj-FB for submit@debbugs.gnu.org; Sun, 16 Feb 2014 11:17:41 -0500 Original-Received: from mtaout23.012.net.il ([80.179.55.175]:54925) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WF4PQ-0007gL-E8 for 16736@debbugs.gnu.org; Sun, 16 Feb 2014 11:17:38 -0500 Original-Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0N1300C00JVECO00@a-mtaout23.012.net.il> for 16736@debbugs.gnu.org; Sun, 16 Feb 2014 18:17:29 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N1300C8YJX5AF50@a-mtaout23.012.net.il>; Sun, 16 Feb 2014 18:17:29 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:85672 Archived-At: > From: Glenn Morris > Cc: 16736@debbugs.gnu.org > Date: Sat, 15 Feb 2014 16:28:13 -0500 > > > Eli Zaretskii wrote: > > > sounds like the frame is cleared and completely redrawn, which I won't > > expect during byte-compile, which only redisplays the echo area. If I > > put a breakpoint in clear_frame, it is never hit during your recipe. > > I put a break on x_clear_frame, and with emacs -Q, byte-compile-file on > scheme.el triggers it. Can you show a backtrace from that breakpoint? > In an attempt to follow your instructions, I put a break on dispnew.c:3045. > > So far I don't think I am getting any useful information out of this, > because it seems to trigger a lot, and I'm not sure I'm catching it at > the right time. I'm interested in seeing what happens the first time this breakpoint breaks after you type "C-x 2" in *scratch*. (On my system, this is the only time it breaks after "C-x 2"; do you see something different?) > Here's current_row and desired_row in update_text_area one time. > > TEXT: 13 glyphs > 0 0: IMAGE[10] str=0x13fb5c8[0] w=35 a+d=14+21 face=3 MB [ slice=0,0,24,24 > 1 35: IMAGE[11] str=0x13fb5c8[1] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 2 69: IMAGE[12] str=0x13fb5c8[2] w=29 a+d=14+21 face=3 MB slice=0,0,19,24 > 3 98: IMAGE[13] str=0x13fb5c8[3] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 4 132: IMAGE[14] str=0x13fb5c8[4] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 5 166: IMAGE[15] str=0x13fb5c8[5] w=12 a+d=14+21 face=3 MB slice=0,0,2,24 > 6 178: IMAGE[16] str=0x13fb5c8[6] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 7 212: IMAGE[15] str=0x13fb5c8[7] w=12 a+d=14+21 face=3 MB slice=0,0,2,24 > 8 224: IMAGE[17] str=0x13fb5c8[8] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 9 258: IMAGE[18] str=0x13fb5c8[9] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 10 292: IMAGE[19] str=0x13fb5c8[10] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 11 326: IMAGE[15] str=0x13fb5c8[11] w=12 a+d=14+21 face=3 MB slice=0,0,2,24 > 12 338: IMAGE[20] str=0x13fb5c8[12] w=34 a+d=14+21 face=3 MB ] slice=0,0,24,24 > TEXT: 13 glyphs > 0 0: IMAGE[10] str=0x13fbe90[0] w=35 a+d=14+21 face=3 MB [ slice=0,0,24,24 > 1 35: IMAGE[11] str=0x13fbe90[1] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 2 69: IMAGE[12] str=0x13fbe90[2] w=29 a+d=14+21 face=3 MB slice=0,0,19,24 > 3 98: IMAGE[13] str=0x13fbe90[3] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 4 132: IMAGE[14] str=0x13fbe90[4] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 5 166: IMAGE[15] str=0x13fbe90[5] w=12 a+d=14+21 face=3 MB slice=0,0,2,24 > 6 178: IMAGE[16] str=0x13fbe90[6] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 7 212: IMAGE[15] str=0x13fbe90[7] w=12 a+d=14+21 face=3 MB slice=0,0,2,24 > 8 224: IMAGE[17] str=0x13fbe90[8] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 9 258: IMAGE[18] str=0x13fbe90[9] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 10 292: IMAGE[19] str=0x13fbe90[10] w=34 a+d=14+21 face=3 MB slice=0,0,24,24 > 11 326: IMAGE[15] str=0x13fbe90[11] w=12 a+d=14+21 face=3 MB slice=0,0,2,24 > 12 338: IMAGE[20] str=0x13fbe90[12] w=34 a+d=14+21 face=3 MB ] slice=0,0,24,24 These look identical to me. Are you saying that tracing into update_window_line and then update_text_area for these two, you see that the loop which starts at line 3598 ends with i's value smaller than desired_row->used[TEXT_AREA], and you see these 3 lines (3696 to 3698) being executed: output_cursor_to (w, vpos, start_hpos, desired_row->y, start_x); rif->write_glyphs (w, updated_row, start, TEXT_AREA, i - start_hpos); changed_p = 1; Again, please trace all this upon the first time the breakpoint on line 3045 breaks after "C-x 2". > I'll try again later, but frankly I don't know what I'm doing, even > with your detailed instructions. Thanks. Feel free to ask questions about things you'd like to understand. In a nutshell, this is part of the code that updates the window after Emacs has determined that some window(s) need to be updated, in this case, due to "C-x 2" that created a new window and made the old one smaller. The code I pointed to updates the tool-bar window when anything on the tool bar changes, or refrains from updating it if the tool bar did not change at all (which should happen in this case).