Package: emacs;
Reported by: Roman Rudakov <rrudakov <at> fastmail.com>
Date: Wed, 12 Nov 2025 14:06:02 UTC
Severity: normal
Found in version 31.0.50
To reply to this bug, email your comments to 79823 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org:bug#79823; Package emacs.
(Wed, 12 Nov 2025 14:06:02 GMT) Full text and rfc822 format available.Roman Rudakov <rrudakov <at> fastmail.com>:bug-gnu-emacs <at> gnu.org.
(Wed, 12 Nov 2025 14:06:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Roman Rudakov <rrudakov <at> fastmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 31.0.50; Performance issue with treesit-font-lock-fontify-region Date: Wed, 12 Nov 2025 15:04:59 +0100
Steps to reproduce:
1. Install clojure-ts-mode from NonGNU ELPA
(package-install 'clojure-ts-mode)
(use-package clojure-ts-mode)
2. Create a Clojure file with the following content:
(defn unescape
[s]
(-> s
(string/replace "&" "&")
(string/replace "*" "*")
(string/replace "^" "^")
(string/replace "_" "_")
(string/replace "~" "~")
(string/replace "<" "<")
(string/replace ">" ">")
(string/replace "[" "[")
(string/replace "]" "]")
(string/replace "(" "(")
(string/replace ")" ")")
(string/replace """ "\"")))
3. Open the file and activate clojure-ts-mode.
Emacs becomes unresponsive for a significant amount of time (up to 10
minutes).
Note: after activating clojure-ts-mode for the first time there is a
chance that Clojure grammar will be (re)installed, in this case Emacs
should be restarted.
To avoid waiting for 10 minutes there is an option to paste the
following text and uncomment one line at a time. The more lines
uncommented the less responsive Emacs becomes:
(defn unescape
[s]
(-> s
(string/replace "&" "&")
(string/replace "*" "*")
;; (string/replace "^" "^")
;; (string/replace "_" "_")
;; (string/replace "~" "~")
;; (string/replace "<" "<")
;; (string/replace ">" ">")
;; (string/replace "[" "[")
;; (string/replace "]" "]")
;; (string/replace "(" "(")
;; (string/replace ")" ")")
(string/replace """ "\"")))
CPU Profiler output:
4783 97% - redisplay_internal (C function)
3543 72% - jit-lock-function
3543 72% - jit-lock-fontify-now
3543 72% - jit-lock--run-functions
3543 72% - #<byte-code-function A40>
3543 72% - font-lock-fontify-region
3543 72% - #<byte-code-function A05>
3543 72% - apply
3543 72% - font-lock-default-fontify-region
3543 72% - font-lock-fontify-syntactically-region
3543 72% - treesit-font-lock-fontify-region
1796 36% - treesit-update-ranges
1796 36% - treesit--update-range-1
1796 36% - treesit--update-ranges-local
1796 36% treesit-query-range
1747 35% treesit--font-lock-fontify-region-1
1042 21% - redisplay--pre-redisplay-functions
1042 21% - run-hook-with-args
1042 21% - treesit--pre-redisplay
1041 21% - treesit--font-lock-mark-ranges-to-fontify
1041 21% - treesit-update-ranges
1041 21% - treesit--update-range-1
1041 21% - treesit--update-ranges-local
1041 21% treesit-query-range
1 0% - eval
1 0% mode-line--minor-modes
63 1% Automatic GC
37 0% + timer-event-handler
10 0% + mu4e--server-filter
3 0% + command-execute
1 0% + mu4e--update-sentinel-func
1 0% repeat-post-hook
0 0% ...
The issue is also being tracked on Github:
https://github.com/clojure-emacs/clojure-ts-mode/issues/127
I have tried disabling some of the font-lock queries in
clojure-ts-mode but haven't been able to isolate the problematic
query. Any guidance on how to further debug the issue would be greatly
appreciated.
Thank you.
In GNU Emacs 31.0.50 (build 2, aarch64-apple-darwin25.1.0, NS
appkit-2685.20 Version 26.1 (Build 25B78)) of 2025-11-12 built on
macbookpro.lan
Windowing system distributor 'Apple', version 10.3.2685
System Description: macOS 26.1
Configured using:
'configure --disable-dependency-tracking --disable-silent-rules
--enable-locallisppath=/opt/homebrew/share/emacs/site-lisp
--infodir=/opt/homebrew/Cellar/emacs-plus <at> 31/31.0.50/share/info/emacs
--prefix=/opt/homebrew/Cellar/emacs-plus <at> 31/31.0.50
--with-native-compilation=aot --with-xml2 --with-gnutls
--without-compress-install --without-dbus --without-imagemagick
--with-modules --with-rsvg --with-webp --without-pop --with-ns
--disable-ns-self-contained 'CFLAGS=-O2 -DFD_SETSIZE=10000
-DDARWIN_UNLIMITED_SELECT -I/opt/homebrew/opt/sqlite/include
-I/opt/homebrew/opt/gcc/include
-I/opt/homebrew/opt/libgccjit/include'
'LDFLAGS=-L/opt/homebrew/opt/sqlite/lib -L/opt/homebrew/lib/gcc/15
-Wl,-rpath,/opt/homebrew/lib/gcc/15''
Configured features:
ACL GIF GLIB GMP GNUTLS JPEG LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY
KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM ZLIB
Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
idle-highlight-mode: t
subword-mode: t
yas-minor-mode: t
hl-todo-mode: t
flymake-mode: t
server-mode: t
pdf-occur-global-minor-mode: t
mu4e-column-faces-mode: t
mu4e-modeline-mode: t
auto-insert-mode: t
electric-pair-mode: t
org-roam-db-autosync-mode: t
repeat-mode: t
save-place-mode: t
minibuffer-electric-default-mode: t
savehist-mode: t
recentf-mode: t
global-auto-revert-mode: t
global-hl-line-mode: t
apheleia-mode: t
global-eldoc-mode: t
eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tab-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
window-divider-mode: t
minibuffer-nonselected-mode: t
minibuffer-regexp-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug help-fns radix-tree profiler apheleia
apheleia-rcs apheleia-dp apheleia-formatters apheleia-utils
apheleia-log
apheleia-formatter-context vc-git diff-mode track-changes
flymake-kondor
clojure-ts-mode clj-refactor hydra lv inflections
mc-hide-unmatched-lines-mode mc-mark-more sgml-mode mc-cycle-cursors
multiple-cursors-core rect paredit cider tramp-sh cider-debug
cider-browse-ns cider-mode cider-xref-backend cider-find
cider-completion cider-profile cider-inspector cider-eval cider-jar
arc-mode archive-mode cider-repl-history pulse face-remap cider-repl
cider-resolve cider-test cider-overlays cider-stacktrace cider-doc
cider-browse-spec cider-clojuredocs cider-eldoc cider-docstring
cider-client cider-common xref cider-completion-context
cider-connection
cider-popup sesman-browser nrepl-client tramp-cache time-stamp tramp
trampver tramp-integration tramp-message tramp-compat tramp-loaddefs
sesman queue nrepl-dict cider-util spinner parseedn parseclj-parser
parseclj-lex parseclj-alist clojure-mode align idle-highlight-mode
cap-words superword subword yasnippet doric-obsidian-theme
doric-themes
hl-todo checkdoc lisp-mnt flymake server github org-git ghub-legacy
ghub-graphql treepy gsexp ghub url-http url-gw nsm url-auth
google-translate-smooth-ui google-translate-core-ui facemenu color
popup
google-translate-core google-translate-backend use-package-ensure
pdf-occur tablist tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch
let-alist pdf-misc pdf-tools pdf-view jka-compr pdf-cache pdf-info tq
pdf-util pdf-macs image-mode exif ob-restclient restclient view
mu4e-column-faces mu4e-icalendar gnus-icalendar icalendar mu4e
mu4e-org
mu4e-notification notifications mu4e-main smtpmail mu4e-view
mu4e-mime-parts mu4e-headers mu4e-thread mu4e-actions mu4e-compose
mu4e-draft gnus-msg mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark
mu4e-labels mu4e-message flow-fill mu4e-contacts mu4e-update
mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline
mu4e-vars mu4e-helpers mu4e-config mu4e-window bookmark ido
mu4e-obsolete nix-mode ffap nix-repl nix-shell nix-store nix-log
nix-instantiate nix-shebang nix-format nix yaml-ts-mode
dockerfile-ts-mode rust-ts-mode typescript-ts-mode js c-ts-common
imenu
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine
cc-vars cc-defs vlf-setup vlf vlf-base vlf-tune autoinsert rg files-x
vc
vc-dispatcher rg-info-hack rg-menu transient edmacro kmacro rg-ibuffer
rg-result wgrep-rg wgrep rg-history rg-header ibuf-ext ibuffer
ibuffer-loaddefs grep compile elec-pair emacsql-sqlite-builtin
org-roam-migrate org-roam-log org-roam-mode org-roam-capture
org-roam-id
org-roam-node crm org-roam-db easy-mmode org-roam-utils
org-roam-compat
org-roam org-capture emacsql-sqlite emacsql emacsql-compiler
magit-section benchmark cursor-sensor llama comp comp-cstr cond-let
dash
async ob-async ob-plantuml ob-ditaa ob-clojure ob-haskell ob-sqlite
ob-shell shell ob-sql ob-python python project compat pcase org-clock
appt diary-lib diary-loaddefs org-duration comp-run comp-common
flyspell
ispell oc-basic bibtex disp-table ol-info ol-gnus nnselect gnus-art
mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum
shr-tag-pre-highlight language-detection shr pixel-fill kinsoku
url-file
svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud
nnimap nnmail mail-source utf7 nnoo parse-time iso8601 gnus-spec
gnus-int gnus-range message sendmail yank-media puny dired
dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader
gnus-util text-property-search mail-utils range mm-util mail-prsvr
ox-gfm ox-md ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util
rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar ox-html table ox-ascii ox-publish ox org-attach
org-agenda
org-element org-persist org-id org-element-ast inline avl-tree
generator
org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-src sh-script smie treesit executable ob-comint org-pcomplete
pcomplete org-list org-footnote org-faces org-entities time-date
noutline outline org-version ob-emacs-lisp ob-core ob-eval org-cycle
org-table org-keys oc org-loaddefs thingatpt find-func cal-menu
calendar
cal-loaddefs ol org-fold org-fold-core org-compat org-macs format-spec
exec-path-from-shell warnings repeat hippie-exp comint ansi-osc
ansi-color ring advice saveplace minibuf-eldef savehist recentf
tree-widget cl-extra help-mode autorevert filenotify use-package-core
hl-line rx finder-inf package browse-url xdg url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv
bytecomp byte-compile url-vars info add-node-modules-path-autoloads
alert-autoloads apheleia-autoloads auctex-autoloads tex-site
buttercup-autoloads clj-refactor-autoloads cider-autoloads
clojure-mode-autoloads csv-mode-autoloads debbugs-autoloads
dired-git-info-autoloads dired-subtree-autoloads
dired-hacks-utils-autoloads direnv-autoloads doric-themes-autoloads
dtrt-indent-autoloads edit-indirect-autoloads ef-themes-autoloads
elfeed-autoloads emacs-everywhere-autoloads emmet-mode-autoloads
exec-path-from-shell-autoloads expand-region-autoloads
flymake-kondor-autoloads flyspell-correct-autoloads ghub-autoloads
git-link-autoloads gitignore-templates-autoloads gntp-autoloads
google-c-style-autoloads google-translate-autoloads
groovy-mode-autoloads haskell-mode-autoloads hl-todo-autoloads
hydra-autoloads idle-highlight-mode-autoloads inflections-autoloads
log4e-autoloads logview-autoloads datetime-autoloads extmap-autoloads
lv-autoloads magit-autoloads markdown-mode-autoloads
modus-themes-autoloads mu4e-column-faces-autoloads
multiple-cursors-autoloads nginx-mode-autoloads nix-mode-autoloads
nov-autoloads esxml-autoloads ob-async-autoloads async-autoloads
ob-restclient-autoloads org-roam-autoloads magit-section-autoloads
llama-autoloads cond-let-autoloads emacsql-autoloads ox-jira-autoloads
ox-slack-autoloads ox-gfm-autoloads paredit-autoloads
parseedn-autoloads
parseclj-autoloads password-store-otp-autoloads
password-store-autoloads
pdf-tools-autoloads pip-requirements-autoloads pkgbuild-mode-autoloads
plantuml-mode-autoloads deflate-autoloads dash-autoloads
popup-autoloads
pyvenv-autoloads queue-autoloads rainbow-mode-autoloads
restclient-autoloads rg-autoloads s-autoloads sesman-autoloads
shr-tag-pre-highlight-autoloads language-detection-autoloads
sly-autoloads spinner-autoloads sql-indent-autoloads
ssh-config-mode-autoloads tablist-autoloads telega-autoloads
treepy-autoloads vimrc-mode-autoloads visual-fill-column-autoloads
vlf-autoloads web-mode-autoloads wgrep-autoloads with-editor-autoloads
yasnippet-autoloads cus-edit pp cus-start cus-load icons wid-edit
cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar
dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock
syntax
font-core term/tty-colors frame minibuffer nadvice seq simple
cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew
greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
keymap
hashtable-print-readable backquote threads kqueue cocoa ns lcms2
multi-tty make-network-process tty-child-frames native-compile emacs)
Memory information:
((conses 16 971885 207416) (symbols 48 59421 16)
(strings 32 286056 12009) (string-bytes 1 9082395)
(vectors 16 276444) (vector-slots 8 1845289 73514)
(floats 8 91445 1792) (intervals 56 6549 1673) (buffers 1064 27))
--
Best regards, Roman
bug-gnu-emacs <at> gnu.org:bug#79823; Package emacs.
(Wed, 12 Nov 2025 15:20:02 GMT) Full text and rfc822 format available.Message #8 received at 79823 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Roman Rudakov <rrudakov <at> fastmail.com>, Yuan Fu <casouri <at> gmail.com> Cc: 79823 <at> debbugs.gnu.org Subject: Re: bug#79823: 31.0.50; Performance issue with treesit-font-lock-fontify-region Date: Wed, 12 Nov 2025 17:18:59 +0200
> From: Roman Rudakov <rrudakov <at> fastmail.com>
> Date: Wed, 12 Nov 2025 15:04:59 +0100
>
>
> Steps to reproduce:
>
> 1. Install clojure-ts-mode from NonGNU ELPA
>
> (package-install 'clojure-ts-mode)
> (use-package clojure-ts-mode)
>
> 2. Create a Clojure file with the following content:
>
> (defn unescape
> [s]
> (-> s
> (string/replace "&" "&")
> (string/replace "*" "*")
> (string/replace "^" "^")
> (string/replace "_" "_")
> (string/replace "~" "~")
> (string/replace "<" "<")
> (string/replace ">" ">")
> (string/replace "[" "[")
> (string/replace "]" "]")
> (string/replace "(" "(")
> (string/replace ")" ")")
> (string/replace """ "\"")))
>
> 3. Open the file and activate clojure-ts-mode.
>
> Emacs becomes unresponsive for a significant amount of time (up to 10
> minutes).
>
> Note: after activating clojure-ts-mode for the first time there is a
> chance that Clojure grammar will be (re)installed, in this case Emacs
> should be restarted.
>
> To avoid waiting for 10 minutes there is an option to paste the
> following text and uncomment one line at a time. The more lines
> uncommented the less responsive Emacs becomes:
>
> (defn unescape
> [s]
> (-> s
> (string/replace "&" "&")
> (string/replace "*" "*")
> ;; (string/replace "^" "^")
> ;; (string/replace "_" "_")
> ;; (string/replace "~" "~")
> ;; (string/replace "<" "<")
> ;; (string/replace ">" ">")
> ;; (string/replace "[" "[")
> ;; (string/replace "]" "]")
> ;; (string/replace "(" "(")
> ;; (string/replace ")" ")")
> (string/replace """ "\"")))
>
> CPU Profiler output:
>
> 4783 97% - redisplay_internal (C function)
> 3543 72% - jit-lock-function
> 3543 72% - jit-lock-fontify-now
> 3543 72% - jit-lock--run-functions
> 3543 72% - #<byte-code-function A40>
> 3543 72% - font-lock-fontify-region
> 3543 72% - #<byte-code-function A05>
> 3543 72% - apply
> 3543 72% - font-lock-default-fontify-region
> 3543 72% - font-lock-fontify-syntactically-region
> 3543 72% - treesit-font-lock-fontify-region
> 1796 36% - treesit-update-ranges
> 1796 36% - treesit--update-range-1
> 1796 36% - treesit--update-ranges-local
> 1796 36% treesit-query-range
> 1747 35% treesit--font-lock-fontify-region-1
> 1042 21% - redisplay--pre-redisplay-functions
> 1042 21% - run-hook-with-args
> 1042 21% - treesit--pre-redisplay
> 1041 21% - treesit--font-lock-mark-ranges-to-fontify
> 1041 21% - treesit-update-ranges
> 1041 21% - treesit--update-range-1
> 1041 21% - treesit--update-ranges-local
> 1041 21% treesit-query-range
> 1 0% - eval
> 1 0% mode-line--minor-modes
> 63 1% Automatic GC
> 37 0% + timer-event-handler
> 10 0% + mu4e--server-filter
> 3 0% + command-execute
> 1 0% + mu4e--update-sentinel-func
> 1 0% repeat-post-hook
> 0 0% ...
>
> The issue is also being tracked on Github:
> https://github.com/clojure-emacs/clojure-ts-mode/issues/127
>
> I have tried disabling some of the font-lock queries in
> clojure-ts-mode but haven't been able to isolate the problematic
> query. Any guidance on how to further debug the issue would be greatly
> appreciated.
Yuan, can you help out?
bug-gnu-emacs <at> gnu.org:bug#79823; Package emacs.
(Thu, 13 Nov 2025 19:19:02 GMT) Full text and rfc822 format available.Message #11 received at 79823 <at> debbugs.gnu.org (full text, mbox):
From: Fu Yuan <casouri <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: Roman Rudakov <rrudakov <at> fastmail.com>, 79823 <at> debbugs.gnu.org Subject: Re: bug#79823: 31.0.50; Performance issue with treesit-font-lock-fontify-region Date: Thu, 13 Nov 2025 11:18:05 -0800
> 在 2025年11月12日,上午7:19,Eli Zaretskii <eliz <at> gnu.org> 写道:
>
>
>>
>> From: Roman Rudakov <rrudakov <at> fastmail.com>
>> Date: Wed, 12 Nov 2025 15:04:59 +0100
>>
>>
>> Steps to reproduce:
>>
>> 1. Install clojure-ts-mode from NonGNU ELPA
>>
>> (package-install 'clojure-ts-mode)
>> (use-package clojure-ts-mode)
>>
>> 2. Create a Clojure file with the following content:
>>
>> (defn unescape
>> [s]
>> (-> s
>> (string/replace "&" "&")
>> (string/replace "*" "*")
>> (string/replace "^" "^")
>> (string/replace "_" "_")
>> (string/replace "~" "~")
>> (string/replace "<" "<")
>> (string/replace ">" ">")
>> (string/replace "[" "[")
>> (string/replace "]" "]")
>> (string/replace "(" "(")
>> (string/replace ")" ")")
>> (string/replace """ "\"")))
>>
>> 3. Open the file and activate clojure-ts-mode.
>>
>> Emacs becomes unresponsive for a significant amount of time (up to 10
>> minutes).
>>
>> Note: after activating clojure-ts-mode for the first time there is a
>> chance that Clojure grammar will be (re)installed, in this case Emacs
>> should be restarted.
>>
>> To avoid waiting for 10 minutes there is an option to paste the
>> following text and uncomment one line at a time. The more lines
>> uncommented the less responsive Emacs becomes:
>>
>> (defn unescape
>> [s]
>> (-> s
>> (string/replace "&" "&")
>> (string/replace "*" "*")
>> ;; (string/replace "^" "^")
>> ;; (string/replace "_" "_")
>> ;; (string/replace "~" "~")
>> ;; (string/replace "<" "<")
>> ;; (string/replace ">" ">")
>> ;; (string/replace "[" "[")
>> ;; (string/replace "]" "]")
>> ;; (string/replace "(" "(")
>> ;; (string/replace ")" ")")
>> (string/replace """ "\"")))
>>
>> CPU Profiler output:
>>
>> 4783 97% - redisplay_internal (C function)
>> 3543 72% - jit-lock-function
>> 3543 72% - jit-lock-fontify-now
>> 3543 72% - jit-lock--run-functions
>> 3543 72% - #<byte-code-function A40>
>> 3543 72% - font-lock-fontify-region
>> 3543 72% - #<byte-code-function A05>
>> 3543 72% - apply
>> 3543 72% - font-lock-default-fontify-region
>> 3543 72% - font-lock-fontify-syntactically-region
>> 3543 72% - treesit-font-lock-fontify-region
>> 1796 36% - treesit-update-ranges
>> 1796 36% - treesit--update-range-1
>> 1796 36% - treesit--update-ranges-local
>> 1796 36% treesit-query-range
>> 1747 35% treesit--font-lock-fontify-region-1
>> 1042 21% - redisplay--pre-redisplay-functions
>> 1042 21% - run-hook-with-args
>> 1042 21% - treesit--pre-redisplay
>> 1041 21% - treesit--font-lock-mark-ranges-to-fontify
>> 1041 21% - treesit-update-ranges
>> 1041 21% - treesit--update-range-1
>> 1041 21% - treesit--update-ranges-local
>> 1041 21% treesit-query-range
>> 1 0% - eval
>> 1 0% mode-line--minor-modes
>> 63 1% Automatic GC
>> 37 0% + timer-event-handler
>> 10 0% + mu4e--server-filter
>> 3 0% + command-execute
>> 1 0% + mu4e--update-sentinel-func
>> 1 0% repeat-post-hook
>> 0 0% ...
>>
>> The issue is also being tracked on Github:
>> https://github.com/clojure-emacs/clojure-ts-mode/issues/127
>>
>> I have tried disabling some of the font-lock queries in
>> clojure-ts-mode but haven't been able to isolate the problematic
>> query. Any guidance on how to further debug the issue would be greatly
>> appreciated.
>
> Yuan, can you help out?
Yeah, feels like the grammar just chokes on this kind of code. But let me check.
Yuan
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.