From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Re: cc-mode fontification feels random Date: Mon, 30 Aug 2021 22:25:31 +0300 Message-ID: <835yvmka50.fsf@gnu.org> References: Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33216"; mail-complaints-to="usenet@ciao.gmane.io" Cc: dancol@dancol.org, emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 30 21:27:16 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 1mKmw8-0008NG-Er for ged-emacs-devel@m.gmane-mx.org; Mon, 30 Aug 2021 21:27:16 +0200 Original-Received: from localhost ([::1]:56988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mKmw4-0000ad-Ca for ged-emacs-devel@m.gmane-mx.org; Mon, 30 Aug 2021 15:27:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54544) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mKmud-0006eC-BW for emacs-devel@gnu.org; Mon, 30 Aug 2021 15:25:43 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:58752) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mKmuc-0003if-Be; Mon, 30 Aug 2021 15:25:42 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3817 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mKmub-0001ho-AH; Mon, 30 Aug 2021 15:25:42 -0400 In-Reply-To: (message from Alan Mackenzie on Mon, 30 Aug 2021 18:50:34 +0000) 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:273541 Archived-At: > Date: Mon, 30 Aug 2021 18:50:34 +0000 > From: Alan Mackenzie > Cc: emacs-devel@gnu.org > > The following patch is an attempt to improve this situation. It is best > used with jit-stealth-lock enabled. I have tried it out with the > following settings: > > jit-lock-stealth-load: 200 ; i.e. inactive. > jit-lock-stealth-nice: 0.1 ; 100 ms between fontifying stealth > chunks. > jit-lock-stealth-time: 1 ; 1 second idle time before stealth kicks > in. > > Whenever a new found type is entered into the CC Mode table, it marks > all occurrences of the type in the buffer for fontification (by setting > the 'fontified text property to nil on it), and causes an immediate > redisplay when there are occurrences of the new type in a window. So you are saying that this will cause the display of the visible portion of the window to flicker whenever jit-lock-stealth finds such a "new type"? That could annoy, can't it? jit-lock-stealth is for fontifying portions of the buffer(s) that are not on display, it would be wrong for it to apply this enhancement, I think, certainly by default. And jit-lock-stealth-time of 1 sec is too short. I use 16, because once jit-lock-stealth starts fontifying a chunk, Emacs can be relatively slow to react to keyboard input, so I prefer to let jit-lock-stealth start its thing only when there's a very good chance I indeed stopped typing, not just thinking about something for a second or two. > I think stealth lock could be enhanced by having it fontify several > 500-byte chunks together, say until 0.05s time has been taken up. This > could speed up stealth fontification while still leaving the keyboard > responsive to the user. Users can already arrange for that by manipulating the jit-stealth-lock parameters. Why should we change code to force upon everyone what seems like a good idea to you (but isn't a good idea IME, see above)? If you want that, you can easily arrange for Emacs to behave like that without changing any code.