From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Re: cc-mode fontification feels random Date: Tue, 31 Aug 2021 14:56:13 -0400 Message-ID: References: <835yvmka50.fsf@gnu.org> <9377d9ec-a3e5-ceea-8a9a-523a420f13f7@dancol.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32837"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Daniel Colascione , Eli Zaretskii , emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Aug 31 20:57:07 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 1mL8wV-0008Fj-Gh for ged-emacs-devel@m.gmane-mx.org; Tue, 31 Aug 2021 20:57:07 +0200 Original-Received: from localhost ([::1]:51368 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mL8wT-0006Oj-K8 for ged-emacs-devel@m.gmane-mx.org; Tue, 31 Aug 2021 14:57:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42510) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mL8vo-0005ix-To for emacs-devel@gnu.org; Tue, 31 Aug 2021 14:56:24 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:55779) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mL8vi-0005jo-Co; Tue, 31 Aug 2021 14:56:21 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 0C31010028A; Tue, 31 Aug 2021 14:56:15 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 854E41001F3; Tue, 31 Aug 2021 14:56:13 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1630436173; bh=hyMjVvdcjKqvSi1ThHkjOuEtoOyN4uztbJ3vXSkB+uw=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=D1bbWipQbisYTd+vHs0keec2wy7Ns82AhJtTYzq+YbFw9BJpBn7fk7p5wHyBzMisa 6IzPZU0tmV6b9yBL3xrwTTb7HjZoFE3PlHmUo5iMqv/iZTs+nugzTtGyY3LpTyLN8E +cP59FxI6xc7WLfgZsej2+pMWPhs4E9SgJh3/x1OucXtzFMjEvVrCR4sfdeaUPWK+N XVBvsNchkbWZvp5xmKIK7gWVYqh5naSwuQdtXenS1lOB6sUxRYHQF/aalo4I/eLYWu H1Z3DAmmRL9E79VQCSs0HsYrH1ekzp+eaVe34wue5zhlsIchdJgjPeMSb5PDenUa8Y ABkTpqMIjy2sQ== Original-Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 753B8120208; Tue, 31 Aug 2021 14:56:13 -0400 (EDT) In-Reply-To: (Alan Mackenzie's message of "Tue, 31 Aug 2021 10:54:23 +0000") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, 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:273618 Archived-At: > 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). I still don't think it's a good use of resources: fontifying the whole buffer is usually completely unnecessary because most of that buffer will never be displayed, and because we can fontifying them fast enough that doing it ahead of time won't save us enough time when we do display those parts. [ Typical concrete problems show up when you visit a hundred files (e.g. for a search&replace, or when loading your desktop.el) after which your Emacs stays busy for a long time fontifying all those buffers. ] For my own use, the benefit of "correct" highlighting of types is not worth any effort at all. Maybe some users would enjoy the improved highlighting of your new code, 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. Stefan