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#18545: 24.4.50: Bug - forward-line inside with-selected-window Date: Sat, 27 Sep 2014 14:22:08 +0300 Message-ID: <8361g9tijj.fsf@gnu.org> References: <290964377.56621411668876487.JavaMail.www@wwinf7125> <83a95nv9fm.fsf@gnu.org> <542668BA.6010800@gmx.at> <838ul5tpfu.fsf@gnu.org> <54268B0B.1020203@gmx.at> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1411817010 26679 80.91.229.3 (27 Sep 2014 11:23:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 27 Sep 2014 11:23:30 +0000 (UTC) Cc: lompik@voila.fr, 18545@debbugs.gnu.org To: martin rudalics Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Sep 27 13:23:22 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 1XXq5y-0001AY-5z for geb-bug-gnu-emacs@m.gmane.org; Sat, 27 Sep 2014 13:23:22 +0200 Original-Received: from localhost ([::1]:55346 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXq5x-0003rV-NY for geb-bug-gnu-emacs@m.gmane.org; Sat, 27 Sep 2014 07:23:21 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47327) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXq5p-0003kd-7b for bug-gnu-emacs@gnu.org; Sat, 27 Sep 2014 07:23:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XXq5k-0007Bg-IN for bug-gnu-emacs@gnu.org; Sat, 27 Sep 2014 07:23:13 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33710) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXq5k-0007BE-Fn for bug-gnu-emacs@gnu.org; Sat, 27 Sep 2014 07:23:08 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XXq5f-0003OZ-22 for bug-gnu-emacs@gnu.org; Sat, 27 Sep 2014 07:23:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 27 Sep 2014 11:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18545 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18545-submit@debbugs.gnu.org id=B18545.141181694913004 (code B ref 18545); Sat, 27 Sep 2014 11:23:02 +0000 Original-Received: (at 18545) by debbugs.gnu.org; 27 Sep 2014 11:22:29 +0000 Original-Received: from localhost ([127.0.0.1]:53507 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XXq56-0003Ne-HG for submit@debbugs.gnu.org; Sat, 27 Sep 2014 07:22:29 -0400 Original-Received: from mtaout23.012.net.il ([80.179.55.175]:54128) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XXq52-0003NU-V5 for 18545@debbugs.gnu.org; Sat, 27 Sep 2014 07:22:26 -0400 Original-Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NCK007004UYXC00@a-mtaout23.012.net.il> for 18545@debbugs.gnu.org; Sat, 27 Sep 2014 14:22:22 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NCK007DL4XAUU40@a-mtaout23.012.net.il>; Sat, 27 Sep 2014 14:22:22 +0300 (IDT) In-reply-to: <54268B0B.1020203@gmx.at> 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:93791 Archived-At: > Date: Sat, 27 Sep 2014 12:01:47 +0200 > From: martin rudalics > CC: lompik@voila.fr, 18545@debbugs.gnu.org > > > Do you see the line number in the mode line of that window increasing, > > after the cursor gets stuck, each time forward-line is run in that > > window? > > It gets updated normally until and including when the cursor is at the > partially visible line. After that it gets updated with every > stuttering step, that is, when after three seconds the display actually > scrolls. AFAIU, this means the window is not being redrawn on each forward-line; not even its mode line is updated. You should be able to confirm this if you turn on trace-redisplay (assuming you've built with GLYPH_DEBUG, a.k.a. "--enable-checking=glyphs") -- you will not see the window announced in the trace. (Btw, turning off blink-cursor-mode removes a lot of clutter from the redisplay trace, so I suggest to do that in these experiments.) If you add to the function that calls forward-line a message showing point, do you see the value of point move on each forward-line even though the window is not redrawn? > >> (1) The bug is not reproducible with Emacs 24-4, only with current > >> trunk. > > > > That's strange, since the code to which you pointed is present in both > > branches. > > The remaining aspects like the need for a maximized frame and the fact > that the changes must be in my .emacs are much more strange. Actually, I'm not so sure those are strange: rare situations with pixel dimensions might be only exposed by such techniques. > > if (!cursor_row_fully_visible_p (w, 0, 0)) > > { > > w->cursor.vpos = -1; > > clear_glyph_matrix (w->desired_matrix); > > goto try_to_scroll; > > } > > > > after the call to set_cursor_from_row on line 16322. > > > > If this doesn't work, please see why. > > It fails to do anything because running cursor_row_fully_visible_p > returns at > > if (!MATRIX_ROW_PARTIALLY_VISIBLE_P (w, row)) > return 1; > > and this one apparently fails to detect that the row is partially visible > because of > > (gdb) p row->height > $5 = 16 > (gdb) p row->visible_height > $6 = 16 > > Any ideas? What is last_visible_y in that window? To see that, step into try_window called on line 16235, wait until it calls start_display, and look at it.last_visible_y. > BTW is there a way to print the value returned by a macro in gdb? Yes, just print it: (gdb) p MATRIX_ROW_PARTIALLY_VISIBLE_P (w, row) If this doesn't work, perhaps you didn't build with -g3, or your compiler is buggy. Thanks.