From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: The unwarranted scrolling assumption Date: Wed, 23 Jun 2010 22:11:27 +0300 Message-ID: <83lja5ef8g.fsf@gnu.org> References: <83fx0lihov.fsf@gnu.org> <838w6cixma.fsf@gnu.org> <83y6ech1oo.fsf@gnu.org> <83ocf8gx7e.fsf@gnu.org> <83fx0jgxk7.fsf@gnu.org> <83eig3gspa.fsf@gnu.org> <83bpb7gp2g.fsf@gnu.org> <837hlvglvh.fsf@gnu.org> <834ogzglaj.fsf@gnu.org> <8339wjgg8w.fsf@gnu.org> <83y6eagb7g.fsf@gnu.org> <4C1D24E3.5080402@harpegolden.net> <83sk4ig1t7.fsf@gnu.org> <83mxuqg0tz.fsf@gnu.org> <4C1D427D.9000503@harpegolden.net> <83bpb5fu7c.fsf@gnu.org> <837hltf5vr.fsf@gnu.org> <4C1FE262.3000407@harpegolden.net> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1277320420 16032 80.91.229.12 (23 Jun 2010 19:13:40 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 23 Jun 2010 19:13:40 +0000 (UTC) Cc: emacs-devel@gnu.org To: David De La Harpe Golden Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jun 23 21:13:38 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ORVOE-0000A3-68 for ged-emacs-devel@m.gmane.org; Wed, 23 Jun 2010 21:13:38 +0200 Original-Received: from localhost ([127.0.0.1]:44625 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ORVOD-00078T-3p for ged-emacs-devel@m.gmane.org; Wed, 23 Jun 2010 15:13:37 -0400 Original-Received: from [140.186.70.92] (port=36387 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ORVO6-00076S-BI for emacs-devel@gnu.org; Wed, 23 Jun 2010 15:13:31 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1ORVO5-0007on-06 for emacs-devel@gnu.org; Wed, 23 Jun 2010 15:13:30 -0400 Original-Received: from mtaout23.012.net.il ([80.179.55.175]:45321) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1ORVO4-0007oZ-O6 for emacs-devel@gnu.org; Wed, 23 Jun 2010 15:13:28 -0400 Original-Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0L4H00200EONLG00@a-mtaout23.012.net.il> for emacs-devel@gnu.org; Wed, 23 Jun 2010 22:13:27 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([84.228.178.198]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0L4H00NG4EQE2080@a-mtaout23.012.net.il>; Wed, 23 Jun 2010 22:13:27 +0300 (IDT) In-reply-to: <4C1FE262.3000407@harpegolden.net> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:126347 Archived-At: > Date: Mon, 21 Jun 2010 23:06:26 +0100 > From: David De La Harpe Golden > CC: emacs-devel@gnu.org > > font-lock-mode on: > > redisplay-dont-pause nil (that's nil): > > I counted about 114 visible recenters on one complete scrollthrough > (N.B. definitely recenters i.e. cursor restarting from the middle, not > just update lags), > > redisplay-dont-pause t (that's t): > > No visible recenters on one complete scrollthough. After looking at the code and experimenting a bit, I think there's no other way to prevent recentering on slow machines except set redisplay-dont-pause non-nil. (You could also try playing with redisplay-preemption-period, which basically gives you more fine granularity than just the ON/OFF you get with redisplay-dont-pause.) I could perhaps make things a bit better by marking each frame's windows, or even each window up to date as soon as it is redisplayed. (By contrast, the current code only does that after _all_ frames were completely redisplayed without being preempted by input that arrived.) But that would hardly help in this simple use-case, where there's a single frame and a single window on that frame. > redisplay-dont-pause nil (that's nil): > > Only visibly once in 20 whole buffer scrollthroughs (HELLO being a lot > shorter than window.c...), though with at least one of those update lags > every time. > > redisplay-dont-pause t (that's t): > > 11 times in 20 whole buffer scrollthroughs. This is due to some other problem. Do you really see Emacs recentering the window with HELLO? What I see is that the current line is not recentered, but scrolled all the way to the top of the window. IOW, the cursor jumps to the first screen line, and then moves down until it hits the end of the window. Could it be that you see this, instead of recentering?