Fork me on GitHub
#emacs
<
2017-07-06
>
magnars12:07:40

Did clojure-mode indentation become a lot slower lately? I regularly re-indent the whole buffer out of habit, and now it takes several seconds even in a file of only ~100 lines.

a1312:07:22

works fast as usual for me

a1312:07:33

try to profile it

a1312:07:08

@magnars M-x profiler-start reindent your code M-x profiler-report M-x profiler-stop

bozhidar16:07:07

@magnars Pretty much no changes to indentation have been done in a long while.

magnars08:07:50

Then it must have happened when I upgraded to the latest Emacs version. I've been lagging behind for a while. It's just really slow. If everyone else can reindent a largish ns in subsecond times, I guess I'll have to start bisecting my settings then.

bozhidar09:07:56

I think I know what’s causing the problem, but someone is going to have to fix it.

bozhidar16:07:58

@munen thanks for the kind words!

bozhidar16:07:31

@ajs inf-clojure adds 0 Cider features. It has more features than inferior-lisp, that’s for sure, but they are all implemented in precisely the same manner. Not sure what exactly seems excessive to you. Most of the extra functionality like eldoc, completion and font-locking is completely optional (and quite useful). Not to mention the socket REPL support.

ajs18:07:19

Thanks for the clarification. I've been using it and definitely have found it a lot more useful for my purposes, and enjoyable, then cider was, and that's a great contribution to the community. Thanks!

bozhidar16:07:40

It certainly won’t grow to anything complex, because it was designed to be simple, but still a bit more powerful and useful then inferior-lisp, that wasn’t even Clojure-specific.

bozhidar16:07:37

@richiardiandrea unrepl is an effort to improve upon nREPL, not cider.

bozhidar16:07:00

I keep believing that nREPL’s only real problem is that it’s not being developed actively anymore - don’t see anything fundamentally wrong with it. It just needs more work to become even more useful (and mostly - more cljs friendly). Unfortunately due to the bullshit that clojure-contrib carries with it, no one wants to work on the project.

bozhidar16:07:18

(contributor agreement, JIRA, etc)

richiardiandrea16:07:30

well it is not mine but more like a common effort started by Christophe Grand and of course many other people started to jump in (like me)

richiardiandrea16:07:02

It is basically trying to define a better, more repl-y protocol

richiardiandrea16:07:37

for example you will be able to upgrade from a repl type to another (clj vs cljs) just by sending a command

bozhidar19:07:07

Yeah, I know what it is. I’m just clarifying that this is a (potential) replacement for nREPL.

magnars08:07:50

Then it must have happened when I upgraded to the latest Emacs version. I've been lagging behind for a while. It's just really slow. If everyone else can reindent a largish ns in subsecond times, I guess I'll have to start bisecting my settings then.