Skip to content

Optimize cider-get-ns-name for clojure-ts-mode buffers#3920

Merged
bbatsov merged 1 commit into
clojure-emacs:masterfrom
kommen:optimize-cider-get-ns-name-clojure-ts-mode
May 18, 2026
Merged

Optimize cider-get-ns-name for clojure-ts-mode buffers#3920
bbatsov merged 1 commit into
clojure-emacs:masterfrom
kommen:optimize-cider-get-ns-name-clojure-ts-mode

Conversation

@kommen
Copy link
Copy Markdown
Contributor

@kommen kommen commented May 16, 2026

Using clojure-ts-find-ns is a bit more efficient as it leverages tree-sitter.

Plus, there seem to be some egde cases where clojure-find-ns within a clojure-ts-mode buffer makes Emacs hang, as clojure-find-ns's (while t (up-list nil t t)) loop never terminates because up-list delegates to treesit-forward-sexp, which not always seems to signal an error.

Unfortunately I wasn't able to reproduce the error case. But as the change is a performance improvement as well, I hope this is acceptable.

Using clojure-ts-find-ns is a bit more efficient as it leverages tree-sitter.

Plus, there seem to be some egde cases where clojure-find-ns within a
clojure-ts-mode buffer makes Emacs hang, as clojure-find-ns's
(while t (up-list nil t t)) loop never terminates because up-list delegates to
treesit-forward-sexp, which not always seem to signal an error.
@bbatsov bbatsov merged commit e26a4da into clojure-emacs:master May 18, 2026
13 checks passed
@bbatsov
Copy link
Copy Markdown
Member

bbatsov commented May 18, 2026

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants