Open
Description
This Clojure script works:
(println "hello world")
This Clojure script works:
#@String name
#@output String output
(def output (str name "J"))
This Clojure script does not work:
#@String name
(println "hello world")
Throwing the following error:
[ERROR] Module threw exception
java.lang.NullPointerException
at java.io.Writer.<init>(Writer.java:88)
at java.io.PrintWriter.<init>(PrintWriter.java:113)
at java.io.PrintWriter.<init>(PrintWriter.java:100)
at clojure.lang.RT.errPrintWriter(RT.java:271)
at clojure.lang.Namespace.warnOrFailOnReplace(Namespace.java:90)
at clojure.lang.Namespace.intern(Namespace.java:72)
at clojure.lang.Var.intern(Var.java:158)
at clojure.lang.RT.var(RT.java:343)
at org.scijava.plugins.scripting.clojure.ClojureBindings.get(ClojureBindings.java:105)
at org.scijava.plugins.scripting.clojure.ClojureBindings.put(ClojureBindings.java:120)
at org.scijava.script.AbstractScriptEngine.put(AbstractScriptEngine.java:99)
at org.scijava.script.ScriptModule.run(ScriptModule.java:148)
at org.scijava.module.ModuleRunner.run(ModuleRunner.java:167)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:126)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:65)
at org.scijava.thread.DefaultThreadService$3.call(DefaultThreadService.java:237)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.scijava.ui.swing.script.TextEditor.evalScript(TextEditor.java:2348)
at org.scijava.ui.swing.script.TextEditor.access$1000(TextEditor.java:149)
at org.scijava.ui.swing.script.TextEditor$20.execute(TextEditor.java:1939)
at org.scijava.ui.swing.script.TextEditor$Executer$1.run(TextEditor.java:1751)
Caused by: java.lang.NullPointerException
at java.io.Writer.<init>(Writer.java:88)
at java.io.PrintWriter.<init>(PrintWriter.java:113)
at java.io.PrintWriter.<init>(PrintWriter.java:100)
at clojure.lang.RT.errPrintWriter(RT.java:271)
at clojure.lang.Namespace.warnOrFailOnReplace(Namespace.java:90)
at clojure.lang.Namespace.intern(Namespace.java:72)
at clojure.lang.Var.intern(Var.java:158)
at clojure.lang.RT.var(RT.java:343)
at org.scijava.plugins.scripting.clojure.ClojureBindings.get(ClojureBindings.java:105)
at org.scijava.plugins.scripting.clojure.ClojureBindings.put(ClojureBindings.java:120)
at org.scijava.script.AbstractScriptEngine.put(AbstractScriptEngine.java:99)
at org.scijava.script.ScriptModule.run(ScriptModule.java:148)
at org.scijava.module.ModuleRunner.run(ModuleRunner.java:167)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:126)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:65)
at org.scijava.thread.DefaultThreadService$3.call(DefaultThreadService.java:237)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Note that Clojure's println
works by binding System.out to *out*
, and #
indicates the beginning of a reader macro in Clojure. The suspicion is that the #
is slipping through and messing with the establishment of the user
namespace in Clojure.
Metadata
Metadata
Assignees
Labels
No labels