Closed
Description
Expected behavior
When I have (def ^{:macro})
in my buffer (as the only code), I should see no freezing of emacs.
Actual behavior
Emacs with clojure-mode freezes.
Steps to reproduce the problem
Put (def ^{:macro})
as the sole code in a clojure buffer. Try to move the cursor a bit back and forth.
When Emacs freezes, send:
pkill -USR2 Emacs
and then see something like:
Debugger entered--entering a function:
* #f(compiled-function () #<bytecode 0x1fe4d41470e9>)()
imenu--generic-function(((nil clojure-match-next-def 0)))
imenu-default-create-index-function()
imenu--make-index-alist(t)
which-function()
which-func-update-1(#<window 3 on foo.clj>)
which-func-update()
apply(which-func-update nil)
timer-event-handler([t 0 0 500000 t which-func-update nil idle 0])
recursive-edit()
debug(lambda)
* thing-at-point--end-of-sexp()
bounds-of-thing-at-point(sexp)
clojure-match-next-def()
imenu--generic-function(((nil clojure-match-next-def 0)))
imenu-default-create-index-function()
imenu--make-index-alist(t)
which-function()
which-func-update-1(#<window 3 on foo.clj>)
which-func-update()
apply(which-func-update nil)
timer-event-handler([t 0 0 500000 t which-func-update nil idle 0])
@vemv hinted that this looked suspicious:
Line 749 in c339353
Environment & Version information
clojure-mode version
clojure-mode (version 5.13.10)
Emacs version
27.2
Operating system
macOS