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: Fri, 19 Jul 2013 21:46:07 +0300 Message-ID: <83hafqz8uo.fsf@gnu.org> References: <83y5a0ka99.fsf@gnu.org> <83ip10hlyr.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1374259634 23594 80.91.229.3 (19 Jul 2013 18:47:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 19 Jul 2013 18:47:14 +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 Fri Jul 19 20:47:12 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 1V0Fhv-0002dT-OY for geb-bug-gnu-emacs@m.gmane.org; Fri, 19 Jul 2013 20:47:11 +0200 Original-Received: from localhost ([::1]:38448 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V0Fhv-0003OQ-7s for geb-bug-gnu-emacs@m.gmane.org; Fri, 19 Jul 2013 14:47:11 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37044) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V0Fhq-0003OJ-87 for bug-gnu-emacs@gnu.org; Fri, 19 Jul 2013 14:47:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V0Fhm-0004Ns-F3 for bug-gnu-emacs@gnu.org; Fri, 19 Jul 2013 14:47:06 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:43612) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V0Fhm-0004Ne-Bi for bug-gnu-emacs@gnu.org; Fri, 19 Jul 2013 14:47:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1V0Fhl-00043Z-Ru for bug-gnu-emacs@gnu.org; Fri, 19 Jul 2013 14:47:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 19 Jul 2013 18:47:01 +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: Original-Received: via spool by 14616-submit@debbugs.gnu.org id=B14616.137425957315481 (code B ref 14616); Fri, 19 Jul 2013 18:47:01 +0000 Original-Received: (at 14616) by debbugs.gnu.org; 19 Jul 2013 18:46:13 +0000 Original-Received: from localhost ([127.0.0.1]:37928 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V0Fgv-00041V-Bq for submit@debbugs.gnu.org; Fri, 19 Jul 2013 14:46:13 -0400 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:36584) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V0Fgo-00040k-W0 for 14616@debbugs.gnu.org; Fri, 19 Jul 2013 14:46:07 -0400 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MQ700M005BAV100@a-mtaout20.012.net.il> for 14616@debbugs.gnu.org; Fri, 19 Jul 2013 21:45:55 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MQ700MQS5GJLN50@a-mtaout20.012.net.il>; Fri, 19 Jul 2013 21:45:55 +0300 (IDT) 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:76499 Archived-At: > From: Lars Magne Ingebrigtsen > Cc: 14616@debbugs.gnu.org > Date: Fri, 19 Jul 2013 17:31:32 +0200 > > Breakpoint 3, update_frame_1 (f=0xc12be0, force_p=true, inhibit_id_p=false) > at dispnew.c:4445 > 4445 struct glyph_matrix *current_matrix = f->current_matrix; > $447 = true > $448 = false > > Once per second. So it seems like something is making the update fire > regularly, but not very intensively. Nothing that I'm able to detect > happens on the screen -- I have no clocks or anything altering anything. I think these are just the routine redisplay cycles. update_frame_1 is called as part of the last portion of redisplay: when Emacs has decided what parts of the screen need to be redrawn and what they should look like, and now it is about to compare that with what is actually displayed in those parts, and redraw the different parts. So the periodical calls to update_frame_1 is not a problem in itself. > Now, for the real bug. When I then select an article in Gnus, this > starts firing like crazy: > > Breakpoint 3, update_frame_1 (f=0xc12be0, force_p=true, inhibit_id_p=false) > at dispnew.c:4445 > 4445 struct glyph_matrix *current_matrix = f->current_matrix; > $16335 = true > $16336 = false > [...] > When Gnus selects an article in these groups, a lot of network traffic > is fired off as it uses `url-retrieve' to pre-fetch images. So my > uninformed guess would be that something in the network code is telling > Emacs that the display is dirty and needs to be repainted. Does the screen stay unchanged during this time, or is something changing, like images being displayed after they are fetched? If you see such a frantic activity when nothing changes on the screen, then this is indeed a bug. In that case, set a breakpoint in update_frame_line, and display its 2nd argument, like this: (gdb) break update_frame_line (gdb) commands > p vpos > continue > end (gdb) The values of vpos will tell us which parts of the screen, in terms of line numbers, Emacs tries to redraw. That will give some clues about where to look next. Thanks.