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 03:40:11 +0200 Message-ID: References: <87ocfcj7r4.fsf@mail.jurta.org> <87631jvpzg.fsf@gmail.com> <4C18211C.3070106@harpegolden.net> 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 1276652443 12114 80.91.229.12 (16 Jun 2010 01:40:43 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 16 Jun 2010 01:40:43 +0000 (UTC) Cc: emacs-devel@gnu.org To: David De La Harpe Golden , "Kim F. Storm" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jun 16 03:40:42 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 1OOhcO-0002dO-ID for ged-emacs-devel@m.gmane.org; Wed, 16 Jun 2010 03:40:40 +0200 Original-Received: from localhost ([127.0.0.1]:41359 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OOhcN-0001Wp-LX for ged-emacs-devel@m.gmane.org; Tue, 15 Jun 2010 21:40:39 -0400 Original-Received: from [140.186.70.92] (port=49984 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OOhcH-0001Tb-OK for emacs-devel@gnu.org; Tue, 15 Jun 2010 21:40:34 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OOhcG-0008JD-6i for emacs-devel@gnu.org; Tue, 15 Jun 2010 21:40:33 -0400 Original-Received: from mail-gy0-f169.google.com ([209.85.160.169]:36666) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OOhcG-0008J6-2W for emacs-devel@gnu.org; Tue, 15 Jun 2010 21:40:32 -0400 Original-Received: by gyg4 with SMTP id 4so4416812gyg.0 for ; Tue, 15 Jun 2010 18:40:31 -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=5VO1qticypwQviqM36ia/uRgXJd8kNvBfYxnGTUOdRM=; b=miog/tyhF8r0TNQSgqYw39xAIyrq/fEuic7MI+csYh3w0xiG3KYQNvV6qZLsOBhd/l Y0Lo1/99NZm5dJn3Bkg9MJcz2iFHqFYLJcowXxjQ1cT/vT3/uQTZsERv69Rvn1n7ktN6 l0iVYremK6GG/G4MgJsawQQYKCEznSi4djSxY= 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=o0yvspPZWvafJDUeS5uJ+cE2+Es+Z/C3j65qii6x4SS1nofQpdE7L5TmBkETrEt49y 6ail67zy2HA8ujfQEJx8FsoQG2QuwK70kHeMpth8OaEMsI76Ly6cssAlQWciju+vgvZD oFN7amnj1nPjHmvTCpIPJyOPiBCIYTj9Somuc= Original-Received: by 10.101.134.13 with SMTP id l13mr6470953ann.118.1276652431162; Tue, 15 Jun 2010 18:40:31 -0700 (PDT) Original-Received: by 10.100.154.15 with HTTP; Tue, 15 Jun 2010 18:40:11 -0700 (PDT) In-Reply-To: <4C18211C.3070106@harpegolden.net> 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:125986 Archived-At: On Wed, Jun 16, 2010 at 2:55 AM, David De La Harpe Golden wrote: > On 16/06/10 00:59, Lennart Borgman wrote: > >> All I do to check this is open window.c and then hit/hold down the >> down arrow key (or "j" in viper). >> >> Does this work without "jumping scrolling" for you? (You have to test >> for a while, the jumping does not happen always. I is a bit like >> playing a computer game.) >> > > I see this sometimes, with the recipe you outline. > > Sometimes emacs seems to decide to recenter, when it has "too much" input > while display is taking its time (which I guess it might for e.g. > font-locked window.c or a bunch of foreign scripts on view-hello-file) > > I found the faster I set keyboard autorepeat the easier it is to make > happen. =C2=A0e.g. with my usual "xset r rate 150 60" it happens very > occasionally, but with "xset r rate 150 180" it happens a lot. Just a somewhat wild guess: I wonder if this happens in redisplay_window in xdisp.c. This functions has a labeled called "recenter": /* Finally, just choose place to start which centers point */ recenter: if (centering_position < 0) centering_position =3D window_box_height (w) / 2; The intent of that label seems to be just trying to came up to speed with the input. But that is exactly the problem here. However I dislike the way the problem is solved. I would rather wish that the display engine instead calculated a new window start point from the input command queue. I have no idea if that is actually possible. What I can see is that redisplay_window can restart through redisplay_internal (the comment at the label "need_larger_matrices" says that). Perhaps this possibility to restart can be used instead. But this is over the head for me. Kim, are you there? Help!