Fork me on GitHub
#emacs
<
2020-08-28
>
seancorfield17:08:55

Quick Q about inf-clojure: if I start a REPL manually, with a Socket REPL running too, I can inf-clojure-connect to it just fine, type into it, and eval code into it (C-c C-e); if I use inf-clojure and give it the clojure command to start a REPL, I get a plain REPL (as expected) and can type into it just fine to eval stuff manually, but when I try to eval into it (C-c C-e) I just get a long line of ^G^G^G^G... in the REPL and then I can't even type into it any more. What am I doing wrong?

seancorfield17:08:44

(if it helps debug the problem, I also see Redirection Redirection Redirection Redirection Redirection in the status line for the REPL buffer at this point) [this was not relevant]

dpsutton17:08:53

@seancorfield can you file an issue? i can look into it over the weekend or later today. and sorry about that hangup ๐Ÿ˜ž

dpsutton17:08:16

tag me on it (@dpsutton) if you do make the issue

seancorfield17:08:50

File an issue where?

seancorfield17:08:56

This is my first time trying to use inf-clojure so I'm not very familiar with the ecosystem (and it's been several years now since I last used Emacs ๐Ÿ™‚ ).

seancorfield17:08:03

Oh, I didn't know there was a #inf-clojure channel. Sorry, I should have asked there I guess.

dpsutton17:08:05

i did a big refactor recently so it should be much easier to use and easier to extend

dpsutton17:08:17

ah no worries. probably higher traffic here and i wouldn't have seen it there. joining now ๐Ÿ™‚

seancorfield17:08:58

After helping a beginner yesterday navigate REBL stuff with Emacs/CIDER/nREPL, I wanted to try Emacs with just a plain REBL (REPL) or a Socket REPL. Pretty sure last time I'd tried Emacs there wasn't a way to connect to a plain Socket REPL so that's really good to see it work seamlessly. It's also a nice test of my https://github.com/seancorfield/socket-rebl lib, so everything Emacs sends to the Socket REPL gets submitted to REBL, which is the workflow I'm used to from Atom/Chlorine.

3
dpsutton18:08:30

that's part of what motivated me. there's no real good socket option for emacs. i don't think inf-clojure is ready for full time development. needs a bit better story for auto completion but i really dig it for small simple things

seancorfield18:08:46

I don't think I'll ever go back to Emacs for real development work -- it's just too painful/primitive after using Atom for nearly five years -- but at least now I know something that works without CIDER/nREPL.

๐Ÿ˜• 3
3
dpsutton18:08:07

I do like the idea of ditching nrepl just most projects I work on professionally are nrepl and usually lein based

seancorfield18:08:10

Our main reason for wanting a workflow that avoided CIDER/nREPL was that we connect to REPLs in production and didn't want those dev dependencies baked into our production environment.

seancorfield18:08:12

We have our services set up in production so there can be a .jvm_opts file next to the JAR and our service script uses the contents when (re)starting a service, so we can easily spawn a Socket REPL on any port.

dpsutton18:08:55

Yeah. Thereโ€™s some stuff with subscribing to out that can be a bit hanky. Also classloader stuff with nrepl I think. Metabase has a fix for nrepl making a new classloader for each form I think

seancorfield19:08:46

This way we can use telnet etc to interact with the production process. And possibly unrepl/unravel if we really want some luxury (since it can side-load compliment). And then we have the exact same dev UX for local and remote processes (although I have REBL running locally, always).