Fork me on GitHub
#cider
<
2019-02-08
>
Chase18:02:46

These kind of errors are locking up my emacs frequently:

CompilerException clojure.lang.ExceptionInfo: Call to clojure.core/ns did not conform to spec:
In: [1] val: ((require [clojure.set :as set]) (:gen-class)) fails spec: :clojure.core.specs.alpha/ns-form at: [:args] predicate: (cat :docstring (? string?) :attr-map (? map?) :clauses :clojure.core.specs.alpha/ns-clauses),  Extra input
 #:clojure.spec.alpha{:problems [{:path [:args], :reason "Extra input", :pred (clojure.spec.alpha/cat :docstring (clojure.spec.alpha/? clojure.core/string?) :attr-map (clojure.spec.alpha/? clojure.core/map?) :clauses :clojure.core.specs.alpha/ns-clauses), :val ((require [clojure.set :as set]) (:gen-class)), :via [:clojure.core.specs.alpha/ns-form], :in [1]}], :spec #object[clojure.spec.alpha$regex_spec_impl$reify__2436 0x1fdf1c5 "clojure.spec.alpha$regex_spec_impl$reify__2436@1fdf1c5"], :value (pegthing.core (require [clojure.set :as set]) (:gen-class)), :args (pegthing.core (require [clojure.set :as set]) (:gen-class))}, compiling:(/home/chaselambert/projects/brave-book/pegthing/src/pegthing/core.clj:1:1) 

pegthing.core> 

Chase18:02:05

I'm not getting time to clear the repl before it locks up.

Chase18:02:14

Is this considered one long line?

Chase18:02:13

I hate to keep coming here and bugging you folks. Just wondering if it's something fixable I should be doing or something I can help (filing an issue in the appropriate place, etc) for other users

dpsutton18:02:36

no that should not be long enough to lock up emacs

dpsutton18:02:40

not sure what is going on

dpsutton18:02:49

how did you install emacs and what version is it?

Chase18:02:38

i'm running on debian, it's emacs 25.1.1 I installed using apt-get install emacs25

dpsutton18:02:45

try turning on the profiler? M-x profiler-start, do something to lock it up and then m-x profiler-report after a few seconds of lockup

Chase18:02:56

I'm not even clear on why exactly that would even create an error. it's the first step of a much used tutorial but that's for a different day i guess

dpsutton18:02:31

your require form is wrong

dpsutton18:02:43

(:require [...) not (require ...

Chase18:02:40

I did the profiler-start things. Hopefully I can report back with more info if I lock up again. I haven't been able to use m-x after the lock up though. Are you saying it will save the info for when I restart?

dpsutton18:02:16

no it won't persist. i misunderstood what you mean by lock up

Chase18:02:20

just locked on me again. on restart I'm being told profiler-report is not a valid command name

dpsutton18:02:29

i assumed you meant it locked up (for a few seconds)

Chase18:02:36

emacs freezes completely and won't recover

Chase18:02:16

I can't even force kill emacs specifically, i have to shut down my whole linux instance but that might just be my weird system.

dpsutton18:02:26

oh no. something is messed up with your install

dpsutton18:02:41

yeah this isn't CIDER at all. you have a messed up install

Chase18:02:07

interesting. that gives me hope though right. reboot this whole mofo?

Chase18:02:37

i've already been debating trying to find a way to get emacs 26 on debian. not sure if possible.

dpsutton18:02:14

i would uninstall and reinstall the most recent emacs you can

dpsutton18:02:25

yeah debian is old or "stable"

dpsutton18:02:55

emacs 26 came out a year ago

Chase18:02:31

from what I gathered, debian doesn't care about such things right. 26 isn't available on the debian repositories unless i'm mistaken

dpsutton18:02:00

correct. debian cares about years long stability. i understand debian makes a great application server and a frustrating dev machine

Chase18:02:38

ahhh. the irony is in this case, stability means instability? But this could be some user error on my part

Chase18:02:27

i have to run on debian though so let me explore workarounds. maybe build from source? I'm just using phrases though, not entirely clear on that. I'll leave #cider alone though

justinbarclay18:02:37

Building emacs from source in the linux world is pretty easy and straight forward

Chase19:02:49

And now I'm proud to say I've built emacs from source! I guess I've done skipped from 25.1.1 to 27.0.50. I count this as a big +1 in my tech/hacking skills! Thanks again for all the help these last couple of weeks @U11BV7MTK. Fingers crossed I can leave you alone for a bit.

dpsutton19:02:13

you're never a both!

dpsutton19:02:25

and welcome to the build it from source club

justinbarclay20:02:00

Congrats! 🙂 Hopefully that helps solve your issues.

dpsutton20:02:43

worth noting: elisp files get compiled into elc files (c is compiled). Worth deleting these when starting up with emacs 27

Chase20:02:44

hmmm. i think you got me playing with fire on that one. not sure what ya mean

futuro22:02:16

Find every .elc file inside of your .emacs.d folder and delete them.

futuro22:02:08

They’re compiled versions of the elisp files, which emacs makes automatically, and may mess with your newer version of emacs.

futuro22:02:02

Which only matters now, when jumping from 25->27, or if some change in an elisp file wasn’t being picked up. Aka, you don’t have to worry about it normally.

Chase23:02:17

ahh, thanks for the clarification. I did this all on a brand new fresh install because I'm just weird like that. can't find any .elc files so I think I'm good to go

futuro23:02:16

I don’t think that makes you weird; that sounds like a solid debugging approach 😄

Chase23:02:14

until you just realized you erased a couple of learning files with lots of commented notes. d'oh!

practicalli-johnny15:02:33

Debian testing has Emacs version 26.1 available, so you could just upgraded. It would take less time than compiling Emacs (depending on CPU speed Vs internet speed). I always used to used the testing version of Debian as it was always pretty stable (at least between 1995 and 2005)

Chase16:02:43

I don't think I can actually switch my Debian distro though. I'm on a chromebook using it's Crostini linux ability but it's still a work in progress. It uses Stretch and I'm not sure if I can use testing packages on that.