Description
As part of clojure-emacs/cider#3456 I just upgraded to clojure-mode-20230911.1653, which seems to have caused a tremendous performance regression around indenting forms.
Expected behavior
Indentation is fast enough not to interrupt flow
Actual behavior
A ~30-line let
or do
now takes just under 10 seconds to indent.
A ~400-line buffer froze emacs for about a minute while indenting.
Carriage return at the end of a line has a sub-second but noticeable delay.
(Relatively consistent map literals seem significantly faster)
Steps to reproduce the problem
Write a large form then add a do
or let
or
given the following clojuredart form, add and remove the newline before :get
:
(f/widget :get {the-nav m/Navigator}
m/Card
;; TODO
#_ (m/InkWell .onTap (push-fn the-nav (scrn=book book-id)))
(m/ListTile .leading (m/Icon m/Icons.table_chart_rounded)
.title (m/Text "Flowcharts")))
Environment & Version information
clojure-mode version
clojure-mode (version nil)
per #658
clojure-mode-20230911.1653 by directory
Emacs version
GNU Emacs 28.2 (build 1, aarch64-apple-darwin22.1.0, Carbon Version 169 AppKit 2299) of 2022-12-10
Operating system
macOS ventura