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: cc-mode fontification feels random Date: Sun, 6 Jun 2021 12:27:05 +0000 Message-ID: References: <86a85d26-75c0-e4a3-e8d3-244c5346dd3a@dancol.org> <83bl8ji4sw.fsf@gnu.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="33768"; mail-complaints-to="usenet@ciao.gmane.io" Cc: dancol@dancol.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Jun 06 14:28:12 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 1lprsx-0008WL-Ts for ged-emacs-devel@m.gmane-mx.org; Sun, 06 Jun 2021 14:28:11 +0200 Original-Received: from localhost ([::1]:44888 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lprsw-0007kE-Tw for ged-emacs-devel@m.gmane-mx.org; Sun, 06 Jun 2021 08:28:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59700) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lprry-00071g-7J for emacs-devel@gnu.org; Sun, 06 Jun 2021 08:27:10 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:18486 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.90_1) (envelope-from ) id 1lprrw-0001KS-7R for emacs-devel@gnu.org; Sun, 06 Jun 2021 08:27:10 -0400 Original-Received: (qmail 24689 invoked by uid 3782); 6 Jun 2021 12:27:06 -0000 Original-Received: from acm.muc.de (p2e5d5696.dip0.t-ipconnect.de [46.93.86.150]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Sun, 06 Jun 2021 14:27:05 +0200 Original-Received: (qmail 6537 invoked by uid 1000); 6 Jun 2021 12:27:05 -0000 Content-Disposition: inline In-Reply-To: <83bl8ji4sw.fsf@gnu.org> 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=ham 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:270478 Archived-At: Hello, Eli. On Sun, Jun 06, 2021 at 14:57:35 +0300, Eli Zaretskii wrote: > > Date: Sun, 6 Jun 2021 11:37:47 +0000 > > From: Alan Mackenzie > > Cc: emacs-devel@gnu.org > > > FWIW, fontification is correct and consistent when I set > > > font-lock-support-mode to nil, so this really does look like another > > > case of getting unlucky with jit-lock block divisions. > > Maybe an improvement might come from scanning the buffer for occurrences > > of foo after foo has been recognised as a type and entered into the CC > > Mode table. That way, the lack of fontification on foo would be > > temporary, at least provided your Emacs is configured to fontify > > non-displayed bits of the buffer in the background (which it is by > > default). > > This might need enhanced support from jit-lock, such as some sort of > > signal indicating a buffer has been completly fontified. I haven't > > thought this through, yet. > AFAIR, the way to tell JIT font-lock that a chunk of text was already > fontified is to set the 'fontified' property on that text. Sorry, I was unclear. I was thinking of a signal from jit-lock to the major mode, indicating that background fontification had been completed. CC Mode could react to this by fontifying all occurrences in the buffer of "newly found" types. Or something like that. Or maybe the fontification could be done immediately after parsing a new type. This might be a bit sluggish, but it might be OK. -- Alan Mackenzie (Nuremberg, Germany).