From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Unfreezing the display during auto-repeated scrolling. Simpler approach. Date: Wed, 29 Oct 2014 14:52:11 +0000 Message-ID: <20141029145211.GB2953@acm.acm> References: <20141026221530.GF4397@acm.acm> <20141027142801.GC2771@acm.acm> <83y4s1317s.fsf@gnu.org> <20141027193839.GD2771@acm.acm> <20141028181003.GA6630@acm.acm> <83wq7j0xqj.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1414594405 25698 80.91.229.3 (29 Oct 2014 14:53:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 29 Oct 2014 14:53:25 +0000 (UTC) Cc: Stefan Monnier , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 29 15:53:17 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XjUcf-0006Rg-0o for ged-emacs-devel@m.gmane.org; Wed, 29 Oct 2014 15:53:17 +0100 Original-Received: from localhost ([::1]:46661 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjUce-0004pp-Me for ged-emacs-devel@m.gmane.org; Wed, 29 Oct 2014 10:53:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54749) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjUcU-0004dd-Tm for emacs-devel@gnu.org; Wed, 29 Oct 2014 10:53:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XjUcI-0006GK-PL for emacs-devel@gnu.org; Wed, 29 Oct 2014 10:53:06 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:17238 helo=mail.muc.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjUcI-0006GA-GR for emacs-devel@gnu.org; Wed, 29 Oct 2014 10:52:54 -0400 Original-Received: (qmail 74139 invoked by uid 3782); 29 Oct 2014 14:52:51 -0000 Original-Received: from acm.muc.de (pD9519282.dip0.t-ipconnect.de [217.81.146.130]) by colin.muc.de (tmda-ofmipd) with ESMTP; Wed, 29 Oct 2014 15:52:49 +0100 Original-Received: (qmail 4106 invoked by uid 1000); 29 Oct 2014 14:52:11 -0000 Content-Disposition: inline In-Reply-To: <83wq7j0xqj.fsf@gnu.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Delivery-Agent: TMDA/1.1.12 (Macallan) X-Primary-Address: acm@muc.de X-detected-operating-system: by eggs.gnu.org: FreeBSD 8.x X-Received-From: 193.149.48.1 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:176007 Archived-At: Hello, Eli. On Wed, Oct 29, 2014 at 04:14:12PM +0200, Eli Zaretskii wrote: > > From: Stefan Monnier > > Date: Tue, 28 Oct 2014 20:57:16 -0400 > > Cc: Eli Zaretskii , emacs-devel@gnu.org > > I'm beginning to like your C-level hack. > And I still dislike it. Just to be absolutely clear, we're talking about my _simpler_ hack, the one that binds fontification-functions to nil during scrolling. The previous complicated one, that messed with "struct it"s, I think we can all agree is dead. What that proposed change does is simple and very restricted. It binds fontification-functions to nil ONLY in the two scrolling function (up and down), ONLY when scrolling is being done by screenfulls rather than by lines, and ONLY when the user option (precise mechanism not yet worked out) use-default-face-for-fast-scrolling is non-nil. By suggesting the use of jit-lock-defer, somehow, to speed up scrolling, the principle that scrolled over buffer regions MUST be fontified has been given up. My attempts to get jit-lock-defer to do the Right Thing yesterday weren't encouraging. I'm guessing you still accept that the problem (frozen screen during and after auto-repeated scrolling) needs to be solved. An approach I haven't tried yet would be to use the existing scrolling functionality for discreet key presses, changing to nilled-out-fontification-functions when the keystrokes are coming in at auto-repeat rates. This might need enhancement of the command loop, or keyboard interrupt handler, or whatever. What do you think? -- Alan Mackenzie (Nuremberg, Germany).