Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IllegalStateException Can't change/establish root binding of: *e with set #140

Closed
ivan opened this issue Jun 27, 2014 · 7 comments
Closed

Comments

@ivan
Copy link
Contributor

ivan commented Jun 27, 2014

I'm using the standalone REPL with

java -Dfile.encoding=UTF-8 -cp "$(lein classpath)" reply.ReplyMain --standalone

and when I call something that throws an exception, the REPL quits:

# ./repl
REPL-y 0.3.1
Clojure 1.6.0
        Exit: Control+D or (exit) or (quit)
    Commands: (user/help)
        Docs: (doc function-name-here)
              (find-doc "part-of-name-here")
Find by Name: (find-name "part-of-name-here")
      Source: (source function-name-here)
     Javadoc: (javadoc java-object-or-class-here)
    Examples from clojuredocs.org: [clojuredocs or cdoc]
              (user/clojuredocs name-here)
              (user/clojuredocs "ns-here" "name-here")
user=> (/ 1 0)
IllegalStateException Can't change/establish root binding of: *e with set
        clojure.lang.Var.set (Var.java:221)
        reply.eval-modes.standalone/execute/fn--3482 (standalone.clj:36)
        reply.eval-modes.standalone/execute (standalone.clj:33)
        clojure.core/apply (core.clj:626)
        clojure.core/partial/fn--4228 (core.clj:2468)
        clojure.core/map/fn--4245 (core.clj:2559)
        clojure.lang.LazySeq.sval (LazySeq.java:40)
        clojure.lang.LazySeq.seq (LazySeq.java:49)
        clojure.lang.RT.seq (RT.java:484)
        clojure.core/seq (core.clj:133)
        clojure.core/dorun (core.clj:2855)
        clojure.core/doall (core.clj:2871)
Bye for now!

This happens with Clojure 1.4.0, 1.5.1, and 1.6.0.

@ivan
Copy link
Contributor Author

ivan commented Jun 27, 2014

re: "You can use the --standalone flag to rule out any nREPL-related questions, but I'm not aware of anyone using --standalone for other purposes. Please let me know if you are!"

I'm using --standalone because I don't want an nREPL listener for security reasons (especially because I have one project that requires being root.) I've documented my usage at https://github.com/ludios/py2clj-cheatsheet#start-a-repl-without-creating-a-local-security-hole

@trptcolin
Copy link
Owner

Yuck, sorry about that.

@trptcolin
Copy link
Owner

I'd done a pretty major overhaul of the standalone mode recently to fix some issues, so looks like I missed this then.

@ivan
Copy link
Contributor Author

ivan commented Jun 27, 2014

That was quick, thanks! I was about to send a pull request :-)

@mrrodriguez
Copy link

Any thoughts on when these changes will be released to clojars?

@trptcolin
Copy link
Owner

They should already be up, as of last night, as 0.3.2.

@mrrodriguez
Copy link

That's great. Thanks for the quick feedback and turnaround time!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants