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: bug-reference-prog-mode slows down CC Mode's scrolling by ~7% Date: Sat, 11 Sep 2021 15:49:48 +0300 Message-ID: <83k0jngtub.fsf@gnu.org> References: <83a6kuyysv.fsf@gnu.org> <837dfwyird.fsf@gnu.org> <83tuj0ux6y.fsf@gnu.org> <83pmtouul2.fsf@gnu.org> <83k0jwus8w.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15939"; mail-complaints-to="usenet@ciao.gmane.io" Cc: acm@muc.de, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Sep 11 14:51:04 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 1mP2TH-0003up-Po for ged-emacs-devel@m.gmane-mx.org; Sat, 11 Sep 2021 14:51:03 +0200 Original-Received: from localhost ([::1]:55704 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mP2TG-0001G1-KP for ged-emacs-devel@m.gmane-mx.org; Sat, 11 Sep 2021 08:51:02 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53672) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mP2SL-0000WU-SQ for emacs-devel@gnu.org; Sat, 11 Sep 2021 08:50:05 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:33014) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mP2SK-0005J8-3D; Sat, 11 Sep 2021 08:50:04 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3883 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 1mP2SJ-0006pa-Mg; Sat, 11 Sep 2021 08:50:04 -0400 In-Reply-To: (message from Stefan Monnier on Sat, 04 Sep 2021 14:40:16 -0400) 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:274545 Archived-At: > From: Stefan Monnier > Cc: acm@muc.de, emacs-devel@gnu.org > Date: Sat, 04 Sep 2021 14:40:16 -0400 > > > Do you have some Lisp to show that invisible text isn't fontified by > > jit-lock? > > src/emacs -Q lisp/subr.el -f outline-minor-mode --eval '(hide-sublevels 1)' > > then go to the line that says "subr.el ends here" and do > > M-: (get-text-property (- (point) 10) 'fontified) RET > > and it will probably say nil. That's sheer luck: it happens only when the invisible text between headings is longer than jit-lock-chunk-size. What happens is this: . redisplay invokes jit-lock, which fontifies jit-lock-chunk-size characters; . redisplay discovers the invisible text, and skips to its end; . redisplay once again invokes jit-lock after skipping invisible text; etc., etc., until we reach the end of the window (which in the above case means EOB). So what you get is 1500 characters after each heading fontified, the rest not fontified. E.g., try your get-text-property trick on headings other than the last one. > PS: My own config enables `outline-minor-mode` and calls > `hide-sublevels` in a similar way, so I'd notice the performance > difference if the whole buffer were fontified ;-) If you hide a lot of text, then yes, only parts of it will be fontified.