From c1c08f3c9f6ffc6d113af3c0267c4ee5bfae72c0 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 30 Mar 2026 13:05:15 -0400 Subject: [PATCH] (treesit--font-lock-level-setter): Work a bit more lazily * lisp/treesit.el (treesit--font-lock-level-setter): Use `font-lock-flush` (as discused in bug#80626). (treesit-font-lock-fontify-region): Simplify a bit. --- lisp/treesit.el | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lisp/treesit.el b/lisp/treesit.el index ebdd2367a52..5a1b9b287ae 100644 --- a/lisp/treesit.el +++ b/lisp/treesit.el @@ -1437,8 +1437,7 @@ fontification is enabled." ;; `treesit-font-lock-recompute-features') is lost. (when treesit-font-lock-settings (treesit-font-lock-recompute-features) - (treesit-font-lock-fontify-region - (point-min) (point-max))))))) + (font-lock-flush)))))) (defcustom treesit-font-lock-level 3 "Decoration level to be used by tree-sitter fontifications. @@ -2050,9 +2049,8 @@ If LOUDLY is non-nil, display some debugging information." (pcase-let ((`(,max-depth ,max-width) (treesit-subtree-stat (treesit-buffer-root-node language)))) - (if (or (> max-depth 100) (> max-width 4000)) - (setq treesit--font-lock-fast-mode t) - (setq treesit--font-lock-fast-mode nil)))) + (setq treesit--font-lock-fast-mode + (or (> max-depth 100) (> max-width 4000))))) ;; Only activate if ENABLE flag is t. (when-let*