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: bug-reference-prog-mode slows down CC Mode's scrolling by ~7% Date: Fri, 3 Sep 2021 16:15:52 +0000 Message-ID: References: <83a6kuyysv.fsf@gnu.org> <83r1e5yk9c.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="4153"; mail-complaints-to="usenet@ciao.gmane.io" Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Sep 03 18:24:35 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 1mMBzW-0000uB-Tb for ged-emacs-devel@m.gmane-mx.org; Fri, 03 Sep 2021 18:24:34 +0200 Original-Received: from localhost ([::1]:36524 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mMBzV-000515-Vd for ged-emacs-devel@m.gmane-mx.org; Fri, 03 Sep 2021 12:24:33 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34064) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mMBrB-0002XW-Ob for emacs-devel@gnu.org; Fri, 03 Sep 2021 12:15:58 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:40381 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.90_1) (envelope-from ) id 1mMBr9-0008VO-Ev for emacs-devel@gnu.org; Fri, 03 Sep 2021 12:15:57 -0400 Original-Received: (qmail 4589 invoked by uid 3782); 3 Sep 2021 16:15:52 -0000 Original-Received: from acm.muc.de (p4fe1598b.dip0.t-ipconnect.de [79.225.89.139]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Fri, 03 Sep 2021 18:15:52 +0200 Original-Received: (qmail 5313 invoked by uid 1000); 3 Sep 2021 16:15:52 -0000 Content-Disposition: inline In-Reply-To: <83r1e5yk9c.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:273807 Archived-At: Hello, Eli. On Fri, Sep 03, 2021 at 14:24:31 +0300, Eli Zaretskii wrote: > > Date: Fri, 3 Sep 2021 10:47:41 +0000 > > Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > > From: Alan Mackenzie > > > Bother: this is not future-proof, and certainly isn't scalable. If we > > > are changing the protocol, can we instead come up with a more scalable > > > change, so that functions won't "fight" in the future who gets to be > > > "the first"? > > I think we need to be clear about the current situation versus my > > proposal. If there is only one element (typically > > font-lock-fontify-region) on jit-lock-functions, nothing changes. With > > several elements: > > Current situation: The region marked with 'fontified text properties is > > the _smallest_ returned by the jit-lock-functions functions. If such a > > function returns nil (which is usual), that region becomes precisely > > (BEG END), and we lose all the benefit of jit-lock-bounds. > > Proposed mechanism: The region marked with 'fontified is that supplied > > by the first j-l-f function, typically font-lock-fontify-region. This > > is an enhancement. > > Note that it is difficult to use the jit-lock-bounds returned by a > > subsequent function, if they exceed the bounds returned by the first > > function. To do this safely, we would have to re-run all the previous > > jit-lock-functions on the newly enlarged region. This would be clumsy, > > and wouldn't fit in well with our current scheme. > > As for "fighting" to be the first function in j-l-f, I don't think that > > should be a problem. We can document the new &optional parameter to > > jit-lock-register (not yet implemented) to say "don't use this unless > > you really know what you're doing". > > What we have isn't scalable in the sense you mean, and I don't think it > > can be made scalable without massive changes in the jit-lock mechanism, > > which might well reverse the benefits of using jit-lock-bounds (the 7% > > saving in font locking time in CC Mode (and surely other modes, too)). > You basically say that you consider what I said not important enough > to handle. That's not at all what I meant to say. I'm sorry that it came out like that. > The only "arguments" you bring up are that you disagree with my > assessment. No. The matter we're discussing is somewhat complicated, and I think we're seeing different aspects of it. That's why I wrote out in detail what I am seeing. I don't yet see what you're seeing. > I don't think those are useful arguments, because who said your vision > of the future is more accurate than mine? .... Not me. But I think winning back that 7% of fontification speed is worth the effort. I think we're still at the stage of exploring alternatives. Stefan has suggested one or two. -- Alan Mackenzie (Nuremberg, Germany).