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: Wed, 16 Jun 2010 19:35:53 +0200 Message-ID: References: <87ocfcj7r4.fsf@mail.jurta.org> <87631jvpzg.fsf@gmail.com> <4C18211C.3070106@harpegolden.net> <87vd9j5neu.fsf@kfs-lx.rd.rdm> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: dough.gmane.org 1276709868 11719 80.91.229.12 (16 Jun 2010 17:37:48 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 16 Jun 2010 17:37:48 +0000 (UTC) Cc: "Kim F. Storm" , emacs-devel@gnu.org, David De La Harpe Golden To: "Kim F. Storm" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jun 16 19:37:47 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 1OOwYZ-00048D-22 for ged-emacs-devel@m.gmane.org; Wed, 16 Jun 2010 19:37:46 +0200 Original-Received: from localhost ([127.0.0.1]:42402 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OOwYW-0000Pq-Dh for ged-emacs-devel@m.gmane.org; Wed, 16 Jun 2010 13:37:40 -0400 Original-Received: from [140.186.70.92] (port=36033 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OOwXG-0008D4-Ey for emacs-devel@gnu.org; Wed, 16 Jun 2010 13:37:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OOwX9-0000c9-Cl for emacs-devel@gnu.org; Wed, 16 Jun 2010 13:36:17 -0400 Original-Received: from mail-yx0-f169.google.com ([209.85.213.169]:61880) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OOwX9-0000bx-8E for emacs-devel@gnu.org; Wed, 16 Jun 2010 13:36:15 -0400 Original-Received: by yxf34 with SMTP id 34so1647994yxf.0 for ; Wed, 16 Jun 2010 10:36:14 -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; bh=uCevhbctIUCXIThWOkRYBpp2L6ZkS8Y4JQp70KCrxNM=; b=WMPSti0bk2qaGyYfZAiOWWVQk1uqC05DC8A24miCt2rSLKBNxcBX/81FrFMQMa4IRh frHnl8ryeFT3S5lYi6pk4WWpe++brfM4Z8NThXt7A+B+W/1rqz003MRz5yvaN00pKiQq 2qtZtybUz/vLpiutt5RH2GH4zfFg1WHbFB/to= 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; b=hdA+Wb8ToLIwVEc4inFnXHMRcCJSFcvK2kRbMlRSodTnDTlbYTmytYTUYR26LKqC1k XFX15JVGuXC0LH2YqPyie5ykaJnw2obuZuFIgSOtoAznNPFmCkWR4Be3QOFmC2dOCIma BLueZqR3NiLEKpgkcCoRLboNqufK5j9LFKcv8= Original-Received: by 10.101.53.7 with SMTP id f7mr2360278ank.41.1276709774614; Wed, 16 Jun 2010 10:36:14 -0700 (PDT) Original-Received: by 10.100.154.15 with HTTP; Wed, 16 Jun 2010 10:35:53 -0700 (PDT) In-Reply-To: <87vd9j5neu.fsf@kfs-lx.rd.rdm> 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:126025 Archived-At: On Wed, Jun 16, 2010 at 11:36 AM, Kim F. Storm wrote: > Lennart Borgman writes: > >> But this is over the head for me. >> >> Kim, are you there? Help! >> > > I'm here, but I think at this time it is way over my head too. > > Unless you work on xdisp almost every day, you wont know what's up or down > and it's been two years since I last looked. I see. Perhaps you can comment on my thoughts below. I looked around a bit and it looks like perhaps clip_changed is the problem, but I am not sure. Save-restriction and friends sets this to 1. redisplay_window checks this somewhere around line 14500 where the comment says "Try to scroll by specified few lines". If clip_changed is set then the if arg will be 0 and the "jumping scrolling" will happen. At least that is how I understand it at the moment. The comment for clip_changed says /* Set nonzero whenever the narrowing is changed in this buffer. */ int clip_changed; This does not really tell what it is used for. Is it used for the display engine or something else (or several things)? If it is meant for the display engine only then I think that save-restriction and friends should be a bit more careful with setting it since there is no need to set it unless the widening state has changed when next redisplay is done.