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#14616: 24.3.50; Excessive cursor movement on non-X Emacs Date: Thu, 01 Aug 2013 19:46:29 +0300 Message-ID: <83mwp1z7dm.fsf@gnu.org> References: <83y5a0ka99.fsf@gnu.org> <83ip10hlyr.fsf@gnu.org> <83hafqz8uo.fsf@gnu.org> <83wqo8vvyb.fsf@gnu.org> <83fvuuws3k.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1375377988 9716 80.91.229.3 (1 Aug 2013 17:26:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 1 Aug 2013 17:26:28 +0000 (UTC) Cc: 14616@debbugs.gnu.org To: Lars Magne Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Aug 01 19:26:27 2013 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 1V4wdp-0007GB-Lx for geb-bug-gnu-emacs@m.gmane.org; Thu, 01 Aug 2013 19:26:21 +0200 Original-Received: from localhost ([::1]:45339 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4wdp-0003Lx-7C for geb-bug-gnu-emacs@m.gmane.org; Thu, 01 Aug 2013 13:26:21 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57812) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4wdh-0003JK-IX for bug-gnu-emacs@gnu.org; Thu, 01 Aug 2013 13:26:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V4w1n-0004BD-AV for bug-gnu-emacs@gnu.org; Thu, 01 Aug 2013 12:47:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:40443) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4w1n-0004B9-6M for bug-gnu-emacs@gnu.org; Thu, 01 Aug 2013 12:47:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1V4w1m-0002LM-Lc for bug-gnu-emacs@gnu.org; Thu, 01 Aug 2013 12:47:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 01 Aug 2013 16:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14616 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-Cc: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.13753756058923 (code B ref -1); Thu, 01 Aug 2013 16:47:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 1 Aug 2013 16:46:45 +0000 Original-Received: from localhost ([127.0.0.1]:34759 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V4w1V-0002Jq-3w for submit@debbugs.gnu.org; Thu, 01 Aug 2013 12:46:45 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:41494) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V4w1Q-0002Iw-Cp for submit@debbugs.gnu.org; Thu, 01 Aug 2013 12:46:43 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V4w1E-00041q-Hy for submit@debbugs.gnu.org; Thu, 01 Aug 2013 12:46:35 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:60285) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4w1E-00041m-E6 for submit@debbugs.gnu.org; Thu, 01 Aug 2013 12:46:28 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43120) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4w18-00085g-AE for bug-gnu-emacs@gnu.org; Thu, 01 Aug 2013 12:46:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V4w12-0003yR-RB for bug-gnu-emacs@gnu.org; Thu, 01 Aug 2013 12:46:22 -0400 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:51137) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4w12-0003yA-Gu for bug-gnu-emacs@gnu.org; Thu, 01 Aug 2013 12:46:16 -0400 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MQV00C0023V1H00@a-mtaout22.012.net.il> for bug-gnu-emacs@gnu.org; Thu, 01 Aug 2013 19:46:14 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MQV00BB42L2P1A0@a-mtaout22.012.net.il>; Thu, 01 Aug 2013 19:46:14 +0300 (IDT) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). 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:76874 Archived-At: > From: Lars Magne Ingebrigtsen > Cc: bug-gnu-emacs@gnu.org > Date: Thu, 01 Aug 2013 12:41:29 +0200 > > Eli Zaretskii writes: > > > It doesn't actually redraw the lines, at least not on my system. What > > it does is examine each screen line in the 'desired' glyph matrix (a > > structure that describes what _should_ be on the screen) with the > > corresponding line in the 'current' glyph matrix (which describes what > > _is_ on the screen). > > I see. Is there a better place to put the trace so that it'll only > trigger when something is actually redrawn? That would make poking > around trying to trigger the bug easier... The functions that actually cause Emacs to write something to the terminal are write_glyphs, insert_glyphs, delete_glyphs, and cursor_to and clear_end_of_line. You will see them called from update_frame_line in several places. Either put a breakpoint at each of those places, with the following breakpoint commands: (gdb) commands > continue > end or put breakpoints _in_ those functions, with the following breakpoint commands: (gdb) commands > bt 2 > continue > end The "bt 2" part will allow to see with what vpos argument was update_frame_line called, so it will be easy to see which portions of the screen we are redrawing. You are looking for calls that successively redraw several screen lines, preferably in the text area, not the mode line. Thanks.