Fork me on GitHub
#cider
<
2018-05-11
>
hlolli00:05:39

I've been screwing my emacs config all day so I can't tell if it's me or cider, I'm on the most recent melpa unstable 0.18.0-snapshot. And the error stacktrace doesn't have the underline link to the source files in the trace. And when I click on the line I get

Debugger entered--Lisp error: (error "No input at point")
  signal(error ("No input at point"))
  error("No input at point")
  cider-repl--send-input(t)
  cider-repl-return(nil)
  funcall-interactively(cider-repl-return nil)
  call-interactively(cider-repl-return nil nil)
  command-execute(cider-repl-return)
maybe a config issue on my side (I have cider-nrepl 0.18.0-snapshot)?

theeternalpulse01:05:05

I solved that issue, seemed that I can only install Cider from http://stable.melpa.org

dpsutton01:05:28

Have you tried installing it manually?

dpsutton01:05:05

@theeternalpulse by installing spinner manually and seeing what the issue is?

theeternalpulse01:05:18

yeah, from http://melpa.org I couldn't install spinner manually

dpsutton01:05:32

right. can you clone it and see if you can eval it?

dpsutton01:05:42

the last commit is over 3 years old

dpsutton01:05:51

2 years but still šŸ™‚

bozhidar06:05:27

> And the error stacktrace doesnā€™t have the underline link to the source files in the trace. And when I click on the line I get

bozhidar06:05:58

@hlolli Can you show us some screenshot/mini video of what youā€™re doing exactly?

bozhidar06:05:50

First practical question about nREPL - how do we name the deployment artefact for version 0.3. It canā€™t retain its old name. I was thinking of cider/nrepl for consistency with the other projects, but that would result in namespace conflicts down the road with cider/cider-nrepl unless we change the name of cider-nrepl to something like orchard-nrepl (which Iā€™m perfectly fine with). Iā€™ve been thinking lately that itā€™s probably time to decouple cider-nrepl from the release cycles of CIDER itself.

arrdem06:05:55

+1 for orchard-nrepl

arrdem06:05:29

just rename the whole artifact and re-namespace everything.

bozhidar06:05:46

Yeah, yeah - thatā€™s what Iā€™ve been thinking about.

bozhidar06:05:04

That would also underline the editor-agnostic nature of cider-nrepl I guess.

arrdem06:05:17

I'd like to see cider-nrepl be less coupled to cider anyway, see my recent comments about the pretty print middleware.

bozhidar06:05:59

For nREPL 0.3 the namespaces will be the same, only the artefact id will be different, to simplify the rollout.

arrdem06:05:22

Sure, just as long as there's an announced migration plan.

arrdem07:05:01

idle thought - it'd be really cool if cider could natively tee execution output and results to a log file.

bozhidar07:05:21

That was the original migration plan, that Chas himself announced.

bozhidar07:05:25

On the client side?

bozhidar07:05:42

Iā€™ve always been wondering if we donā€™t need an execution log on the server side.

arrdem07:05:47

I've totally used cider for days-long evaluations and then had to write out a huge repl buffer at the end of it.

arrdem07:05:39

Servers could probably persist a log of commands too, I'm interested in more durably capturing out, err and the eval result.

arrdem07:05:58

but I'm definitely using cider for some weird stuff atm.

arrdem07:05:34

anyway. ideas for after the work deadline :white_frowning_face:

bozhidar07:05:17

Well, we can certainly discuss this in more detail later.

bozhidar07:05:20

For now it seems that the first step would be replacing maven with lein and cutting 0.3. Havenā€™t used maven in so many years, and I donā€™t really want to change this.

bozhidar07:05:41

Thereā€™s also the fact that nREPL is targeting Clojure 1.2 now. šŸ™‚

bozhidar07:05:45

Plus I noticed another Java 9 incompatibility:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by clojure.tools.nrepl.middleware.interruptible_eval$set_line_BANG_ to field 
WARNING: Please consider reporting this to the maintainers of clojure.tools.nrepl.middleware.interruptible_eval$set_line_BANG_
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

dominicm07:05:06

@bozhidar if you don't change the namespaces, it's not going to work for most, due to class path collisions. I would strongly recommend against doing that.

bozhidar08:05:02

But this was Chasā€™s original plan - to keep the namespace the same for the first version.

bozhidar08:05:55

Iā€™m fine with changing it right away, though. Thatā€™s unavoidable basically.

dominicm08:05:50

I fear that adding [cider/nrepl "0.3.0"] to a project wouldn't do anything, due to the already-present copy of the same files from leiningen.

dominicm08:05:55

classpaths suck eh šŸ™‚

dominicm08:05:20

This is really the maven relocation problem, and I don't think it can be solved without org.clojure/tools.nrepl "delegating" to us.

bozhidar08:05:36

Yeah, thatā€™s a valid point.

bozhidar08:05:10

OK, letā€™s go with the new namespace then.

richiardiandrea14:05:39

Shouldn't orchard be completely nRepl agnostic so that it can run on socket as well? Maybe I misunderstood the plan šŸ˜ƒ

richiardiandrea14:05:28

Or are there gonna be two: orchard and orchard-nrepl?

bozhidar15:05:05

They are going to be two orchard and orchard-nrepl.

bozhidar15:05:13

The only tricky thing right now is how to make something like orchard work with the old and the new nrepl namespace. I really donā€™t want to have conditional checks for everything.

bozhidar15:05:13

Likely Iā€™ll cut a small CIDER release that just has the orchard-nrepl change, and the next CIDER release is likely going to stop using lein repl and boot repl and will instead have a couple of basic tasks that spin an nREPL server using the new nREPL.

dominicm16:05:58

That won't work for boot users, as there's a special repl task for starting with clojurescript loaded

bozhidar15:05:03

Fun times ahead! If someone wants to help out with these transformations - thereā€™s plenty of work to go around. šŸ˜‰

richiardiandrea16:05:45

@bozhidar as you know my goal is to port stuff to cljs and self-host, the cljs-tooling PR is WIP but almost there, then will try to see if I can integrate (and how) into lumo, then socket cider/`orchard` porting, dunno...I guess I will test the waters when I get there

richiardiandrea16:05:51

also don't want to commit to much because I am becoming busy again at work and summer is coming šŸ˜‰

bozhidar16:05:51

I guess this applies to all of us, but itā€™s important weā€™re all trying to make things better.

bozhidar20:05:17

OK, Iā€™m wrapping the work on Clojure tooling for now. If someone wants to help out with some easy tasks Iā€™d appreciate this: * tackle the eastwood warnings * add some ā€œmodernā€ main to nREPL so we can start it and pass it middleware (as opposed to doing this from cider-nrepl as we currently do) * create a lein and boot tasks that start the new nREPL and can be passed a list of extra middleware