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: Thu, 17 Jun 2010 21:31:07 +0200 Message-ID: References: <87ocfcj7r4.fsf@mail.jurta.org> <87631jvpzg.fsf@gmail.com> <4C18211C.3070106@harpegolden.net> <83typ2isns.fsf@gnu.org> <83mxuuicjc.fsf@gnu.org> <83ljadikj1.fsf@gnu.org> <83k4pxijpb.fsf@gnu.org> <83hbl1ihux.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 1276803107 31800 80.91.229.12 (17 Jun 2010 19:31:47 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 17 Jun 2010 19:31:47 +0000 (UTC) Cc: david@harpegolden.net, emacs-devel@gnu.org, storm@cua.dk To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jun 17 21:31: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 1OPKoN-0003UV-Ez for ged-emacs-devel@m.gmane.org; Thu, 17 Jun 2010 21:31:39 +0200 Original-Received: from localhost ([127.0.0.1]:54673 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OPKoM-0005yF-UO for ged-emacs-devel@m.gmane.org; Thu, 17 Jun 2010 15:31:38 -0400 Original-Received: from [140.186.70.92] (port=53251 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OPKoD-0005vH-Pd for emacs-devel@gnu.org; Thu, 17 Jun 2010 15:31:31 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OPKoC-0008LV-9l for emacs-devel@gnu.org; Thu, 17 Jun 2010 15:31:29 -0400 Original-Received: from mail-gx0-f169.google.com ([209.85.161.169]:56975) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OPKoC-0008LG-7V; Thu, 17 Jun 2010 15:31:28 -0400 Original-Received: by gxk3 with SMTP id 3so220444gxk.0 for ; Thu, 17 Jun 2010 12:31:27 -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=t/EWYRjhbSUkdmKgQxUav7TInWIv6Vg++J+dYRj++tw=; b=l88/Z/Q0fKwTI3L+SnNVw6FLcwT4k0Zatkvazi/h0yyx/p8bfft5HsuYM9auIf4bA+ Pwl+1hGyoGbs1nPA6c/He6Iv4LzVUpBFEal46mXl8GGXRTwzl8N+Q1bDChyfpaPeGIqa fB84kVaKbM9nvhrG6jJ+CWnDRFLWlKoQlKo30= 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=u5+thtJK423BXCnQ/5mrYHZ9KA62lho1Gj7T7SETgxniw50XxaBTtm7fvvPz6eTRjk 2wwNozoV8ClTFsfc4n8ZG2Xf10hMQpudcQ/Bm2Ipp3SFU8efMuFky7ZdUIwekX5tYhTk o/ZKO/yDncFY/1IuCSZrMBzQstz0nl7hg5nuY= Original-Received: by 10.101.135.25 with SMTP id m25mr9434ann.58.1276803087145; Thu, 17 Jun 2010 12:31:27 -0700 (PDT) Original-Received: by 10.100.154.15 with HTTP; Thu, 17 Jun 2010 12:31:07 -0700 (PDT) In-Reply-To: <83hbl1ihux.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:126093 Archived-At: On Thu, Jun 17, 2010 at 9:23 PM, Eli Zaretskii wrote: >> From: Lennart Borgman >> Date: Thu, 17 Jun 2010 21:10:55 +0200 >> Cc: emacs-devel@gnu.org, david@harpegolden.net >> >> > Please show a recipe starting from "emacs -Q". >> >> I am sorry, I thought that was clear. Just open a large C file for >> example, like window.c. Set the variables as suggested earlier in this >> thread that should prevent "jumping scrolling". >> >> Then just hold down or rapidly press the down arrow. You will see (if >> your pc is not too fast) that Emacs does the "jumping scrolling" now >> and then. Not every time, but now and then, probably when it gets >> behind in screen updating. > > It doesn't jump for me. Good for you, but why do you say that? Why is that interesting here??? > And, if the machine is too slow and cannot > keep up with the keyboard's autorepeat rate, then what's wrong with > the "jumps"? =C2=A0What would you want Emacs to do instead, if it cannot > keep up with the input? Just do as it does with my patch. The same as for all other apps I know. Continue scrolling without jumping. (At the speed it can of course.) >> I said that clip_changed is used only by the display routines. Only >> those routines knows exactly what data was used when redisplay was >> done. >> >> Clipping is part of the data that might influence redisplay. Changing >> clipping might invalidate what is displayed or it may not. >> >> In the current code (without my patch) there is a very rough guess >> about this: "if clipping is change we should invalidate the display of >> every window". >> >> So this is what `narrow-to-region' and `widen' did by setting clip_chang= ed to 1. > > But narrow-to-region and widen are not part of the recipe, so how can > they influence scrolling in this case? What do you mean? They are both used in Emacs could and there is a lot of calls to them during scrolling. Probably that is from font locking. >> However when I came to think about this I wondered if the display of >> a buffer in several windows is in some (magic) way connected. I >> don't think they are, but anyway I ask you: are they? > > It is connected via the buffer-local variables. =C2=A0I'm not sure this i= s > what you wanted to hear, but your question is too broad. Sorry. I meant if there was something special in the display routines themselves for the connection. I doubt that there are, but there could be some optimization. > Anyway, I don't think it's an efficient way of debugging this -- by > you asking me questions based on some assumptions which I'm not sure > are correct. =C2=A0Let's stick to trying to understand why scrolling is > rejected by redisplay in favor of recentering (see my other mail). I have already explained that. Can you please before you suggest new things try to understand what I have written. Just ask if you do not understand.