Title: Script parameters lead to unbound system variables in Clojure · Issue #5 · scijava/scripting-clojure · GitHub
Open Graph Title: Script parameters lead to unbound system variables in Clojure · Issue #5 · scijava/scripting-clojure
X Title: Script parameters lead to unbound system variables in Clojure · Issue #5 · scijava/scripting-clojure
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 followin...
Open Graph 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 (prin...
X 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:...
Opengraph URL: https://github.com/scijava/scripting-clojure/issues/5
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Script parameters lead to unbound system variables in Clojure","articleBody":"This Clojure script works:\r\n```\r\n(println \"hello world\")\r\n```\r\n\r\nThis Clojure script works:\r\n```\r\n#@String name\r\n#@output String output\r\n\r\n(def output (str name \"J\"))\r\n\r\n```\r\n\r\nThis Clojure script does not work:\r\n```\r\n#@String name\r\n\r\n(println \"hello world\")\r\n```\r\nThrowing the following error:\r\n```\r\n[ERROR] Module threw exception\r\njava.lang.NullPointerException\r\n\tat java.io.Writer.\u003cinit\u003e(Writer.java:88)\r\n\tat java.io.PrintWriter.\u003cinit\u003e(PrintWriter.java:113)\r\n\tat java.io.PrintWriter.\u003cinit\u003e(PrintWriter.java:100)\r\n\tat clojure.lang.RT.errPrintWriter(RT.java:271)\r\n\tat clojure.lang.Namespace.warnOrFailOnReplace(Namespace.java:90)\r\n\tat clojure.lang.Namespace.intern(Namespace.java:72)\r\n\tat clojure.lang.Var.intern(Var.java:158)\r\n\tat clojure.lang.RT.var(RT.java:343)\r\n\tat org.scijava.plugins.scripting.clojure.ClojureBindings.get(ClojureBindings.java:105)\r\n\tat org.scijava.plugins.scripting.clojure.ClojureBindings.put(ClojureBindings.java:120)\r\n\tat org.scijava.script.AbstractScriptEngine.put(AbstractScriptEngine.java:99)\r\n\tat org.scijava.script.ScriptModule.run(ScriptModule.java:148)\r\n\tat org.scijava.module.ModuleRunner.run(ModuleRunner.java:167)\r\n\tat org.scijava.module.ModuleRunner.call(ModuleRunner.java:126)\r\n\tat org.scijava.module.ModuleRunner.call(ModuleRunner.java:65)\r\n\tat org.scijava.thread.DefaultThreadService$3.call(DefaultThreadService.java:237)\r\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n\tat java.lang.Thread.run(Thread.java:748)\r\njava.util.concurrent.ExecutionException: java.lang.NullPointerException\r\n\tat java.util.concurrent.FutureTask.report(FutureTask.java:122)\r\n\tat java.util.concurrent.FutureTask.get(FutureTask.java:192)\r\n\tat org.scijava.ui.swing.script.TextEditor.evalScript(TextEditor.java:2348)\r\n\tat org.scijava.ui.swing.script.TextEditor.access$1000(TextEditor.java:149)\r\n\tat org.scijava.ui.swing.script.TextEditor$20.execute(TextEditor.java:1939)\r\n\tat org.scijava.ui.swing.script.TextEditor$Executer$1.run(TextEditor.java:1751)\r\nCaused by: java.lang.NullPointerException\r\n\tat java.io.Writer.\u003cinit\u003e(Writer.java:88)\r\n\tat java.io.PrintWriter.\u003cinit\u003e(PrintWriter.java:113)\r\n\tat java.io.PrintWriter.\u003cinit\u003e(PrintWriter.java:100)\r\n\tat clojure.lang.RT.errPrintWriter(RT.java:271)\r\n\tat clojure.lang.Namespace.warnOrFailOnReplace(Namespace.java:90)\r\n\tat clojure.lang.Namespace.intern(Namespace.java:72)\r\n\tat clojure.lang.Var.intern(Var.java:158)\r\n\tat clojure.lang.RT.var(RT.java:343)\r\n\tat org.scijava.plugins.scripting.clojure.ClojureBindings.get(ClojureBindings.java:105)\r\n\tat org.scijava.plugins.scripting.clojure.ClojureBindings.put(ClojureBindings.java:120)\r\n\tat org.scijava.script.AbstractScriptEngine.put(AbstractScriptEngine.java:99)\r\n\tat org.scijava.script.ScriptModule.run(ScriptModule.java:148)\r\n\tat org.scijava.module.ModuleRunner.run(ModuleRunner.java:167)\r\n\tat org.scijava.module.ModuleRunner.call(ModuleRunner.java:126)\r\n\tat org.scijava.module.ModuleRunner.call(ModuleRunner.java:65)\r\n\tat org.scijava.thread.DefaultThreadService$3.call(DefaultThreadService.java:237)\r\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n\tat java.lang.Thread.run(Thread.java:748)\r\n```\r\n\r\nNote 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.","author":{"url":"https://github.com/kephale","@type":"Person","name":"kephale"},"datePublished":"2017-06-23T15:21:50.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/5/scripting-clojure/issues/5"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:5a1eb03b-1121-4ca0-11a0-88d6f9523307 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 9302:8A40C:214B864:2C04F88:696EF833 |
| html-safe-nonce | 7a45782c4186322127f320483c554632f3be205db9da834a14fef457109939e8 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5MzAyOjhBNDBDOjIxNEI4NjQ6MkMwNEY4ODo2OTZFRjgzMyIsInZpc2l0b3JfaWQiOiI0MzUzMTY3NDQxODE5MjY5MTcxIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 675df9e02c815fd5247a8c39f7eedb918de3a0c4aed53dce6cc705ae81050478 |
| hovercard-subject-tag | issue:238174367 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/scijava/scripting-clojure/5/issue_layout |
| twitter:image | https://opengraph.githubassets.com/76c2cbd69c38124cdedde910a62fc8ec13377efed72411a320ef889062fa1553/scijava/scripting-clojure/issues/5 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/76c2cbd69c38124cdedde910a62fc8ec13377efed72411a320ef889062fa1553/scijava/scripting-clojure/issues/5 |
| og:image:alt | 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 (prin... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | kephale |
| hostname | github.com |
| expected-hostname | github.com |
| None | b278ad162d35332b6de714dfb005de04386c4d92df6475522bef910f491a35ee |
| turbo-cache-control | no-preview |
| go-import | github.com/scijava/scripting-clojure git https://github.com/scijava/scripting-clojure.git |
| octolytics-dimension-user_id | 1262770 |
| octolytics-dimension-user_login | scijava |
| octolytics-dimension-repository_id | 19124509 |
| octolytics-dimension-repository_nwo | scijava/scripting-clojure |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 19124509 |
| octolytics-dimension-repository_network_root_nwo | scijava/scripting-clojure |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 39aed5006635ab6f45e6b77d23e73b08a00272a3 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width