Fork me on GitHub
#cider
<
2015-07-23
>
robert-stuttaford12:07:11

anyone using latest CIDER started seeing messages like this?

robert-stuttaford12:07:36

error in process filter: some namespaces are in a bad state: (and then a list of nses and vars)

robert-stuttaford12:07:55

but when i go to recompile those nses, theres’ no actual problem

andrewmcveigh12:07:59

@robert-stuttaford: that’s coming from the clojure analyser

andrewmcveigh12:07:12

are you using clj-refactor?

andrewmcveigh12:07:35

I had a similar thing with clj-refactor. 1.0.5

malabarba12:07:53

robert-stuttaford: Yes, that's not cider. I get that from clj-refactor sometimes, but it could be from other things like a linter/analyser

andrewmcveigh12:07:38

BTW my problem with clj-refactor was to do with custom reader tags I.E., a data_readers.clj file in the classpath that clj-refactor’s call to the analyser was not taking into account. That was fixed in 1.1.0 I believe.

robert-stuttaford13:07:06

aha. thank you guys. i’m on the latest clj-refactor, i believe

robert-stuttaford13:07:24

refactor-nrepl "1.2.0-SNAPSHOT"

andrewmcveigh13:07:03

@robert-stuttaford: Not the same issue I had, but it’s possible that refactor-nrepl’s call to the analyser fails here >> https://github.com/clojure-emacs/refactor-nrepl/blob/master/src/refactor_nrepl/analyzer.clj#L61

robert-stuttaford13:07:30

it appears that this error can safely be ignored?

andrewmcveigh13:07:33

Difficult to debug without the full stacktrace

robert-stuttaford13:07:53

of course, it does stop clj-refactor from working. i’ve already fixed that by restarting the jvm once or twice

andrewmcveigh13:07:03

Yes, it can be ignored… but you mightn’t get the refactor-nrepl functionality

robert-stuttaford13:07:04

oh - are you a clj-refactor maintainer, andrewmcveigh ?

andrewmcveigh13:07:28

@benedek: you around

robert-stuttaford13:07:31

ah simple_smile you’re talking a little like one 😁

benedek13:07:58

gimme a sec

benedek13:07:45

@andrewmcveigh: deffo has some code in it 😉

benedek13:07:02

so basically what andrew and malabarba said

benedek13:07:23

most likely coming from refactor-nrepl and it signals that we can’t analyze some of your namespaces

robert-stuttaford13:07:41

ok. i had one where it said it couldn’t resolve the var ‘let'

robert-stuttaford13:07:45

which tells me something odd is going on

benedek13:07:49

that it practically stops those clj-refactor features which are refactor-nrepl based like find usages, rename symbol, extract fn etc

benedek13:07:03

this sounds weird

robert-stuttaford13:07:03

yeah – all the cool ones simple_smile

robert-stuttaford13:07:27

ok. now that i know where it’s coming from, the next time i have it, i’ll try to file an Issue on the GH project

benedek13:07:40

would be really nice thx

robert-stuttaford13:07:00

-ing huge thank you to you and your co-conspirators for making and improving it

robert-stuttaford13:07:11

i ❤️ the threading keybinds a little too much

benedek13:07:13

btw you can use this defcustom cljr-find-usages-ignore-analyzer-errors

benedek13:07:42

so at least find usages work on those namespaces which can be analyzed

benedek13:07:49

thx! it is a fun project to hack on

robert-stuttaford13:07:01

great, i’ll try report issues first though

benedek13:07:31

btw magnars currently hacking on create function stub based on example fe so it understands higher order fns. vanilla emacslisp too so you don’t need the middleware

benedek13:07:46

something to check out 😉

robert-stuttaford13:07:21

man the clj-refactor wiki page is dangerous. i end up spending more time than i should noodling around with cool toys

robert-stuttaford13:07:32

trying to integrate just one or two at a time

andrewmcveigh13:07:44

@benedek: can’t be that hard to port the reader/analyser to elisp, right? 😉

benedek13:07:30

haha… we should ask @bronsa 😉

benedek13:07:45

it looks like a very simple project (not)

benedek13:07:35

thx for the ping btw

andrewmcveigh13:07:34

np, was starting to get out of my depth.

arrdem18:07:10

@andrewmcveigh: nah man we just need to get CIDER infrastructure to use TANAL output >:D

gtrak18:07:24

@arrdem: the cljs-tooling kinda does

gtrak18:07:27

it's pretty much just doing clojure.core functions on compiler data structures

gtrak18:07:38

by design

andrewmcveigh18:07:37

@arrdem: well, it was mainly a joke… 😁 but deadly serious 👿

arrdem18:07:11

@andrewmcveigh: so one thing we joked about a while back was using TANAL to do real syntax highlighting. TANAL knows what textual symbols are locals globals and soforth, as well as which are which so you could write a syntax highlighter that eats a dumped locals table from TANAL and then does fairly advanced colorization beyond what we have now.

arrdem18:07:24

'course neither nicola nor I want to build this, but it could be done 😛

andrewmcveigh18:07:12

Was discussing the basics of that kinda thing today… my answer was that I wouldn’t care enough to write it.

andrewmcveigh18:07:26

The potential slowdown wouldn’t be worth the little gain to me.

benedek19:07:45

well @bozhidar wants find usages in core cider from refactor-nrepl

benedek19:07:53

if this happens you will have the analyzer in cider

benedek19:07:04

so you can do all this funkage 😉

bozhidar19:07:11

this remains the only missing functionality on the road to 1.0

bozhidar19:07:50

ideally by the time we get there, it will also play nice with cljs

benedek19:07:08

the next thing on our roadmap 😉

bozhidar19:07:24

if I manage to learn Spanish, the next language I’ll tackle will be JS

bozhidar19:07:31

10 years later simple_smile

gtrak19:07:04

@bozhidar: if you learn es6 now browsers will only support it in 10 years

bozhidar19:07:24

we already use it on production

bozhidar19:07:30

using a transpiler

gtrak19:07:34

well sure

bozhidar19:07:38

it’s not that different from using cljs

bozhidar19:07:21

so many things in JS are so absurd, that I simply cannot write more than 100 lines of code without going into a nervous breakdown

bozhidar19:07:25

I code and I cry

bozhidar19:07:50

feeling sorry for myself and for everyone who has to write JS simple_smile

arrdem19:07:57

aaaaand twitter material

arrdem19:07:11

I should probably have @programmerdispair or something just for this shit

benedek19:07:19

cljs for the rescue i guess… to a certain extent…

enn22:07:19

I assume the answer is no, but: is there any way to get cider-find-var to take me to the .cljx file instead of the generated .clj file?

arrdem23:07:12

also we have cljc throw that cljx shit out

enn23:07:04

I agree, but I’m writing a patch for a library whose maintainers have stated they won’t move to cljc until 1.7 has been out for “at least a year” 😞

arrdem23:07:18

my default response to this runs afoul of this slack's code of conduct so lets go with I'm sorry.