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, 18 Jun 2010 16:45:03 +0300 Message-ID: <8339wkiheo.fsf@gnu.org> References: <87ocfcj7r4.fsf@mail.jurta.org> <87631jvpzg.fsf@gmail.com> <4C18211C.3070106@harpegolden.net> <83typ2isns.fsf@gnu.org> <83mxuuicjc.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1276868784 4837 80.91.229.12 (18 Jun 2010 13:46:24 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 18 Jun 2010 13:46:24 +0000 (UTC) Cc: david@harpegolden.net, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Lennart Borgman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jun 18 15:46:22 2010 connect(): No such file or directory 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 1OPbtg-0005Yd-HB for ged-emacs-devel@m.gmane.org; Fri, 18 Jun 2010 15:46:21 +0200 Original-Received: from localhost ([127.0.0.1]:39430 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OPbtc-0007sp-Oa for ged-emacs-devel@m.gmane.org; Fri, 18 Jun 2010 09:46:12 -0400 Original-Received: from [140.186.70.92] (port=55206 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OPbt8-0007by-Ev for emacs-devel@gnu.org; Fri, 18 Jun 2010 09:45:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OPbt5-0002dd-M2 for emacs-devel@gnu.org; Fri, 18 Jun 2010 09:45:41 -0400 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:32960) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OPbt5-0002dG-9i for emacs-devel@gnu.org; Fri, 18 Jun 2010 09:45:39 -0400 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0L4700A00Q0UGX00@a-mtaout22.012.net.il> for emacs-devel@gnu.org; Fri, 18 Jun 2010 16:45:16 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([77.127.88.125]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0L470036IQ7CTJF0@a-mtaout22.012.net.il>; Fri, 18 Jun 2010 16:45:13 +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:126154 Archived-At: > From: Lennart Borgman > Date: Thu, 17 Jun 2010 06:55:17 +0200 > Cc: Stefan Monnier , storm@cua.dk, emacs-devel@gnu.org, > david@harpegolden.net > > > At least it works. I just tested. First time I am using Emacs without > > "jumping scrolling"! :-) > > > > If you think this is the right way to fix it I will send patches later > > when I cleaned up a bit. > > > > There is one more similar problem which I do not know how to handle, > > in fileio.c. In the function Finsert_file_contents clip_changed is set > > to 1. I am not quite sure of the impact of this but it looks wrong to > > me to do this. I think the display engine should be told, but it must > > decide what to do with redisplay, not fileio. > > Here is the patch (without the fileio.c part which I leave until I got > some comments). This patch is not correct, IMO, because it does not consider the value of the window's window_end_valid flag. The function reconsider_clip_changes, which you try to side-step, does the same as this test in your patch: > + if ((buffer->clip_begv != buffer->begv) || (buffer->clip_zv != buffer->zv)) > + buffer->clip_changed = 1; but it also considers the window_end_valid flag, without which your patched version could try reusing portions of the current glyph matrix when the matrix is not guaranteed to be up to date.