From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: [Committed PATCH] Re: cc-mode fontification feels random Date: Fri, 22 Oct 2021 20:13:25 +0000 Message-ID: References: <835yvmka50.fsf@gnu.org> <9377d9ec-a3e5-ceea-8a9a-523a420f13f7@dancol.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22292"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , Daniel Colascione , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Oct 22 22:14:18 2021 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 1me0vi-0005g3-Du for ged-emacs-devel@m.gmane-mx.org; Fri, 22 Oct 2021 22:14:18 +0200 Original-Received: from localhost ([::1]:32868 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1me0vh-0008H0-Cz for ged-emacs-devel@m.gmane-mx.org; Fri, 22 Oct 2021 16:14:17 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55494) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1me0vB-0007cv-2W for emacs-devel@gnu.org; Fri, 22 Oct 2021 16:13:45 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:64327 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.90_1) (envelope-from ) id 1me0v8-0006Ez-Qf for emacs-devel@gnu.org; Fri, 22 Oct 2021 16:13:44 -0400 Original-Received: (qmail 4408 invoked by uid 3782); 22 Oct 2021 20:13:26 -0000 Original-Received: from acm.muc.de (p4fe15126.dip0.t-ipconnect.de [79.225.81.38]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Fri, 22 Oct 2021 22:13:26 +0200 Original-Received: (qmail 4161 invoked by uid 1000); 22 Oct 2021 20:13:25 -0000 Content-Disposition: inline In-Reply-To: X-Submission-Agent: TMDA/1.3.x (Ph3nix) X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.1; envelope-from=acm@muc.de; helo=mail.muc.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action 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:277580 Archived-At: Hello, Stefan. On Tue, Aug 31, 2021 at 21:17:12 +0000, Alan Mackenzie wrote: > On Tue, Aug 31, 2021 at 14:56:13 -0400, Stefan Monnier wrote: > > > So, it seems I want something like stealth, but not quite. How about, > > > say jit-lock-single-fontification - it would apply to individual buffers > > > only, would scan through the buffer precisely once, and would do just > > > enough 500-byte chunks at at time to take 0.05 seconds (configurable). [ .... ] > It is the incorrectness of the display of some CC Mode types, rather > than the speed of fontification which is the issue here. [ .... ] > It may be busy, but it remains responsive, as in stealth fontification. > Is this really a problem, as long as one's running on mains power, not a > battery. > > For my own use, the benefit of "correct" highlighting of types is not > > worth any effort at all. > I envisage this facility being enabled by a user option. Indeed, though the option is "opt out" rather than "opt in". This facility is only active for a few seconds after initialising a CC Mode mode. [ .... ] > > .... but if so I think you'd be better off running an ad-hoc timer > > that does nothing else than scan for type declarations (without doing > > the rest of font-lock). It'll be faster and you won't need to care > > about what jit-lock does. > Thanks, that's a brilliant idea! It will be somewhat faster rather than > much faster (because parsing declarations is what sucks up the time in > CC Mode's fontification), but as you say, assuming most parts of most > buffers never get displayed, it will be a net win. > It will be more work to code up, though. I'm currently quite some way > into hacking up jit-lock-single-fontification, so I'm going to get that > working first to see how well it works. I never finished this. It doesn't matter any more. > Then I'll hack up your idea, and confirm it works better. Well, I've coded it up and committed it to master. The fontification of CC Mode types should now be somewhat less random than previously. > > Stefan -- Alan Mackenzie (Nuremberg, Germany).