From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Scrolling commands and skipping redisplay, was: Re: emacs rendering comparisson between emacs23 and emacs26.3 Date: Fri, 10 Apr 2020 09:47:30 +0300 Message-ID: <83tv1rn8fx.fsf@gnu.org> References: <20200403174757.GA8266@ACM> <20200404104553.GA5329@ACM> <07fe3b69-3ab2-3173-0696-cb17809e2b91@gmx.at> <83blo7v68b.fsf@gnu.org> <1845d7aa-9ae4-3d95-6a30-c7b1d8d8adec@gmx.at> <83a73qt6zs.fsf@gnu.org> <97c4254e-ff43-8402-3645-f713c408c245@gmx.at> <83y2r9syby.fsf@gnu.org> <20200405195753.GG5049@ACM> <542b48ba-4dfa-820f-ba50-4b147ab6d8e2@yandex.ru> <0a5f70aa-4985-8f8d-81d6-6ac4a60a94f9@yandex.ru> <838sj8sphk.fsf@gnu.org> <834ktwsmfw.fsf@gnu.org> <83imibqsmm.fsf@gnu.org> <478c2aab-a5fc-61c2-02e2-2d9846b95273@yandex.ru> <83v9m9nltx.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="45249"; mail-complaints-to="usenet@ciao.gmane.io" Cc: acm@muc.de, rrandresf@gmail.com, emacs-devel@gnu.org, rms@gnu.org, rudalics@gmx.at To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Apr 10 08:48:44 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jMnT1-000BfS-PA for ged-emacs-devel@m.gmane-mx.org; Fri, 10 Apr 2020 08:48:43 +0200 Original-Received: from localhost ([::1]:59232 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jMnT0-00059D-Pr for ged-emacs-devel@m.gmane-mx.org; Fri, 10 Apr 2020 02:48:42 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35141) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jMnSH-0004iZ-9Q for emacs-devel@gnu.org; Fri, 10 Apr 2020 02:47:58 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:34275) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jMnSF-00086d-Vu; Fri, 10 Apr 2020 02:47:56 -0400 Original-Received: from [176.228.60.248] (port=3293 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jMnS8-0002Iz-Hj; Fri, 10 Apr 2020 02:47:48 -0400 In-Reply-To: (message from Dmitry Gutov on Fri, 10 Apr 2020 01:17:51 +0300) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:246742 Archived-At: > Cc: acm@muc.de, rudalics@gmx.at, rrandresf@gmail.com, rms@gnu.org, > emacs-devel@gnu.org > From: Dmitry Gutov > Date: Fri, 10 Apr 2020 01:17:51 +0300 > > You have addressed only about 30% of my previous email. I don't have anything to say about the rest. > > Tradeoffs of what? You are probably scrolling in a buffer that uses > > a single font all over, with fontifications changing only the colors. > > While this is a very frequent scenario, it is by no means the only one > > Emacs needs to support. Imagine a buffer where many lines have > > characters that become much taller than the default after > > fontifications -- in such a buffer fast-but-imprecise-scrolling will > > cause you get to the wrong screenful, because it will consider each > > character to be displayed with the default face. > > You will have the wrong screenful, yes. But how wrong exactly? If the > user floored C-v, they are not looking for precision. Depends on what you mean by "precision". They might very well miss some parts of the buffer entirely, i.e. never see them on display. This may or may not be important, depending on the use case. An editor is not supposed to skip portions of the buffer when scrolling continuously. > > We already have jit-lock-defer-time; people > > who have slow machines are advised to set that to something like 0.1 > > or 0.25, and they can have scrolling that is way faster than with > > fast-but-imprecise-scrolling (and with the same tradeoff of making > > scrolling "imprecise"). Why invent kludges when we already have a > > better solution that was there since Emacs 21? > > As explained in a separate subthread, jit-lock-defer-time=0 has worse > side-effects than fast-but-imprecise-scrolling (while including its > downside). And I won't even mention values higher than 0. Here, it behaves much better. So maybe some other factors are at work in your configuration. I think we should try making the solid solutions work as intended before we look for kludges. The "normal" way of doing something when Emacs is idle is by using an idle timer, and that's what jit-lock-defer-time does. So from my POV it is the solution for such problems.