From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lennart Borgman Newsgroups: gmane.emacs.devel Subject: Re: The unwarranted scrolling assumption Date: Sat, 19 Jun 2010 17:41:03 +0200 Message-ID: References: <87ocfcj7r4.fsf@mail.jurta.org> <87631jvpzg.fsf@gmail.com> <4C18211C.3070106@harpegolden.net> <87vd9j5neu.fsf@kfs-lx.rd.rdm> <83sk4misf2.fsf@gnu.org> <83iq5hiiin.fsf@gnu.org> <83fx0lihov.fsf@gnu.org> <83aaqsiyb6.fsf@gnu.org> <83zkysh2hb.fsf@gnu.org> <83vd9gh0s6.fsf@gnu.org> <83typ0gzgh.fsf@gnu.org> <83pqzogxpf.fsf@gnu.org> <83ljacgo8r.fsf@gnu.org> <83hbkzh0nu.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1276962098 25821 80.91.229.12 (19 Jun 2010 15:41:38 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 19 Jun 2010 15:41:38 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jun 19 17:41:35 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 1OQ0An-0002Ap-Hg for ged-emacs-devel@m.gmane.org; Sat, 19 Jun 2010 17:41:33 +0200 Original-Received: from localhost ([127.0.0.1]:41787 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OQ0Ak-0005F5-R4 for ged-emacs-devel@m.gmane.org; Sat, 19 Jun 2010 11:41:30 -0400 Original-Received: from [140.186.70.92] (port=38983 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OQ0Af-0005Dg-Sf for emacs-devel@gnu.org; Sat, 19 Jun 2010 11:41:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OQ0Ae-0005if-Cp for emacs-devel@gnu.org; Sat, 19 Jun 2010 11:41:25 -0400 Original-Received: from mail-gx0-f169.google.com ([209.85.161.169]:35900) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OQ0Ae-0005iZ-AV; Sat, 19 Jun 2010 11:41:24 -0400 Original-Received: by gxk3 with SMTP id 3so1320117gxk.0 for ; Sat, 19 Jun 2010 08:41:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=WvZEXmvmRf2x16hM7oJ7yzAadfm4QebD4PIPEZDhRKA=; b=N39C0G2ow/C0YXEKJjzKhXAXDarvJhwoqsVlnpWcpf6UlNCiaulu5rLh5np6oY1Hqt ZHDJ7tYpTgyp/+1jQtZJBIIXnRWQVB4C6bFAV8j1V6mGyrhmhCUEfnzMoUDoeMNygrVl CjDxtn349PKbCgLypMP8TNt06mPHFEbbXd1QE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=poLd15sbVuz5Dp8SLVQxQNwCWpeLTOz4BvA6bq1sZsTMyq0MsUWjQvgtVnI4A5hsz5 9LSSVp2X+BGulP+Wm4rcNQq5FZWnHuPeeEcUuryDGokIsy27Whi6kD22k3yvzVCFVed1 T40RZUsj84WRtEnHVVjkGNlEHbQcGjE8K0Xyc= Original-Received: by 10.101.135.25 with SMTP id m25mr1979264ann.58.1276962083268; Sat, 19 Jun 2010 08:41:23 -0700 (PDT) Original-Received: by 10.100.154.15 with HTTP; Sat, 19 Jun 2010 08:41:03 -0700 (PDT) In-Reply-To: <83hbkzh0nu.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) 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:126228 Archived-At: On Sat, Jun 19, 2010 at 10:44 AM, Eli Zaretskii wrote: >> From: Lennart Borgman >> Date: Sat, 19 Jun 2010 02:18:13 +0200 >> Cc: emacs-devel@gnu.org >> >> I just checked the code. w->current_matrix->begv/zv is only set in >> >> =C2=A0 mark_window_display_accurate_1 (w, accurate_p) >> >> That means that it has the value needed to set clip_changed as I suggest= ed. > > You cannot base such general conclusions on what the code does now. > Each API and each member of the structures we use _must_ live up to > their contract, as documented in the source. =C2=A0Any new code _must_ > follow those contracts, or else it will break Emacs some day, if not > today. Why do you assume that I have not checked this? Please see the description of the begv/zv members. >> >> IOW, we still need to find out why reconsider_clip_changes fails to >> >> reset the clip_changed flag. >> >> I think I have explained that several times. narrow_to_region etc sets >> clip_changed to 1 without ever caring about the state redisplay is in. > > That is true, but then reconsider_clip_changes is supposed to fix the > value for redisplay's purposes. =C2=A0The question is: why it seemingly > fails in your case, when you lean on the key, in the original > recipe you posted? I have explained that this happens because of the bad assumption that narrow_to_region can set clip_changed and that redisplay later can correct this. It is not true because redisplay does not have the needed information (i.e. it does not know if the change was made after last successful redisplay.) >> I could go into more details, but is that necessary? > > Yes, it's necessary. =C2=A0Without understanding the reasons of why > reconsider_clip_changes fails, your patch cannot be accepted, because > the need in such a patch and its correctness cannot be established. Please see above. > But please do not "go into details" of how narrow_to_region is wrong > in setting the clip_changed flag. =C2=A0That is not the issue here. =C2= =A0The > issue is what happens in reconsider_clip_changes, that prevents it > from resetting the clip_changed flag. I am afraid if you do not want to look into those details ()that I have told too many times already) you will not be able to understand the problem.