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: Fri, 25 Jun 2010 13:35:56 +0300 Message-ID: <83eifve6wj.fsf@gnu.org> References: <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> <83lja5ef8g.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1277492779 29171 80.91.229.12 (25 Jun 2010 19:06:19 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 25 Jun 2010 19:06:19 +0000 (UTC) Cc: emacs-devel@gnu.org, david@harpegolden.net To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jun 25 21:06:16 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 1OSEE7-0004os-4j for ged-emacs-devel@m.gmane.org; Fri, 25 Jun 2010 21:06:11 +0200 Original-Received: from localhost ([127.0.0.1]:60512 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OSEA1-0006Qe-QQ for ged-emacs-devel@m.gmane.org; Fri, 25 Jun 2010 15:01:57 -0400 Original-Received: from [140.186.70.92] (port=54596 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OSD4Z-0004nW-Sz for emacs-devel@gnu.org; Fri, 25 Jun 2010 13:52:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OS6IH-0002tb-HL for emacs-devel@gnu.org; Fri, 25 Jun 2010 06:37:59 -0400 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:60551) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OS6IH-0002su-B6 for emacs-devel@gnu.org; Fri, 25 Jun 2010 06:37:57 -0400 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0L4K00400FYS6N00@a-mtaout21.012.net.il> for emacs-devel@gnu.org; Fri, 25 Jun 2010 13:37:55 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([77.127.155.52]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0L4K00MKMG755HC0@a-mtaout21.012.net.il>; Fri, 25 Jun 2010 13:37:55 +0300 (IDT) In-reply-to: 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:126390 Archived-At: > From: Stefan Monnier > Cc: David De La Harpe Golden , emacs-devel@gnu.org > Date: Thu, 24 Jun 2010 00:18:33 +0200 > > > 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.) > > Could explain the reason why you think it can't be done? Sorry, my wording was inaccurate and thus misleading. What I meant to say was that I see no way of using the try_scrolling optimization under the conditioned described above, except by setting redisplay-dont-pause non-nil. When the window_end_valid flag is nil, we cannot reuse the current glyph matrix, so we fall back to full redisplay of the window, and that means displaying point in the middle of the window. If avoiding recentering is really important (is it?), I guess we could try tweaking the full window redisplay code so that it would put point not in the middle of the window, but rather in the scroll margin. Is this worth pursuing, and if it is, what values of the various scroll-* variables should trigger this new behavior?