venantius / ultra

A Leiningen plugin for a superior development environment
Eclipse Public License 1.0
1.24k stars 37 forks source link

0.3.4 causes problems with LightTable Instarepl #35

Closed thomas-shares closed 9 years ago

thomas-shares commented 9 years ago

Hi,

I recently updated to the latest version of ultra and now my LightTable instarepl doesn't come up. I am getting this error:

We couldn't connect. Looks like there was an issue trying to connect to the project. Here's what we got: final project: {:compile-path /home/veen/.config/LightTable/plugins/Clojure/runner/resources/target/classes, :group local-client, :global-vars {}, :checkout-deps-shares [:source-paths :test-paths :resource-paths :compile-path #'leiningen.core.classpath/checkout-deps-paths], :ultra {:color-scheme :solarized_dark}, :repl-options {:nrepl-context {:interactive-eval {:renderer whidbey.render/render-str}}, :nrepl-middleware [clojure.tools.nrepl.middleware.render-values/render-values lighttable.nrepl.handler/lighttable-ops

We had a problem like this recently and that was fixed by an update to Ultra I think.

Thomas

venantius commented 9 years ago

Hm, curious. I'll take a look and see what's going on. My guess is something in the current Whidbey middleware might be funky, but I'll have to take a look to see.

Can you give me a full set of reproduction steps, including versions for LightTable, Leiningen, et al.?

thomas-shares commented 9 years ago

LT --> 0.7.2 lein --version Leiningen 2.5.1 on Java 1.8.0 IBM J9 VM And I assume Clojure 1.6 as that is the default version Leiningen uses.

Let me know if you need more info.

venantius commented 9 years ago

Okay, was able to replicate the problem. Looks like it's actually an issue with pretty - the exception engine we're using, and potentially with how Ultra injects it.

Full stack trace here:

We couldn't connect.

Looks like there was an issue trying to connect to the project. Here's what we got:
final project:  {:compile-path /Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/target/classes, :group local-client, :global-vars {}, :checkout-deps-shares [:source-paths :test-paths :resource-paths :compile-path #'leiningen.core.classpath/checkout-deps-paths], :ultra {:color-scheme :solarized_dark, :stacktraces false}, :repl-options {:nrepl-context {:interactive-eval {:renderer whidbey.render/render-str}}, :init (do (do (do (do (clojure.core/require (quote ultra.hardcore)) (clojure.core/require (quote whidbey.repl)) (whidbey.repl/init! nil) (ultra.hardcore/configure! {:sort-keys true, :print-fallback :print, :map-delimiter , :print-meta false, :color-scheme :solarized_dark, :stacktraces false}))) (clojure.core/swap! lighttable.nrepl.core/my-settings clojure.core/merge {:name LightTable-REPL, :project (quote {:compile-path /Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/target/classes, :group local-client, :global-vars {}, :checkout-deps-shares [:source-paths :test-paths :resource-paths :compile-path #'leiningen.core.classpath/checkout-deps-paths], :ultra {:color-scheme :solarized_dark, :stacktraces false}, :repl-options {:init (do (do (clojure.core/require (quote ultra.hardcore)) (clojure.core/require (quote whidbey.repl)) (whidbey.repl/init! nil) (ultra.hardcore/configure! {:sort-keys true, :print-fallback :print, :map-delimiter , :print-meta false, :color-scheme :solarized_dark, :stacktraces false}))), :nrepl-middleware [clojure.tools.nrepl.middleware.render-values/render-values], :nrepl-context {:interactive-eval {:renderer whidbey.render/render-str}}, :prompt (fn [ns] (str [ ns ](λ)> ))}, :eastwood {:exclude-linters [:constant-test :suspicious-expression :local-shadows-var]}, :dependencies ([org.clojure/clojure 1.5.1] [org.clojure/tools.nrepl 0.2.3 :exclusions ([org.clojure/clojure])] [clojure-complete/clojure-complete 0.2.3 :exclusions ([org.clojure/clojure])] [cljfmt/cljfmt 0.2.0] [jonase/eastwood 0.2.1 :exclusions ([org.clojure/clojure])] [venantius/ultra 0.3.4] [mvxcvi/puget 0.8.1] [mvxcvi/whidbey 1.0.0] [im.chit/hara.class 2.1.8] [im.chit/hara.reflect 2.1.8]), :plugin-repositories [[central {:snapshots false, :url http://repo1.maven.org/maven2/}] [clojars {:url https://clojars.org/repo/}]], :test-selectors {:default (constantly true)}, :target-path /Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/target, :name local-client, :deploy-repositories [[clojars {:username :gpg, :url https://clojars.org/repo/, :password :gpg}]], :root /Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources, :offline? false, :source-paths (/Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/src), :certificates [clojars.pem], :version 0.0.1, :jar-exclusions [#"^\."], :prep-tasks [javac compile], :repositories [[central {:snapshots false, :url http://repo1.maven.org/maven2/}] [clojars {:url https://clojars.org/repo/}]], :resource-paths (/Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/dev-resources /Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/resources), :uberjar-exclusions [#"(?i)^META-INF/[^/]*\.(SF|RSA|DSA)$"], :monkeypatch-clojure-test false, :jvm-opts [], :eval-in :subprocess, :plugins ([lein-kibit/lein-kibit 0.1.2] [lein-bikeshed/lein-bikeshed 0.2.0] [lein-cljfmt/lein-cljfmt 0.2.0] [jonase/eastwood 0.2.1] [lein-pprint/lein-pprint 1.1.1] [venantius/yagni 0.1.3-SNAPSHOT] [venantius/ultra 0.3.4]), :injections ((clojure.core/require (quote ultra.hardcore)) (ultra.hardcore/add-test-hooks! {:sort-keys true, :print-fallback :print, :map-delimiter , :print-meta false, :color-scheme :solarized_dark, :stacktraces false})), :native-path /Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/target/native, :description A local light table project, :uberjar-merge-with {META-INF/plexus/components.xml leiningen.uberjar/components-merger, data_readers.clj leiningen.uberjar/clj-map-merger}, :test-paths (/Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/test), :clean-targets [:target-path]})})) (do (clojure.core/require (quote ultra.hardcore)) (clojure.core/require (quote whidbey.repl)) (whidbey.repl/init! nil) (ultra.hardcore/configure! {:sort-keys true, :print-fallback :print, :map-delimiter , :print-meta false, :color-scheme :solarized_dark, :stacktraces false}))), :nrepl-middleware [clojure.tools.nrepl.middleware.render-values/render-values lighttable.nrepl.handler/lighttable-ops], :prompt (fn [ns] (str [ ns ](λ)> ))}, :eastwood {:exclude-linters [:constant-test :suspicious-expression :local-shadows-var]}, :dependencies ([org.clojure/clojure 1.5.1] [org.clojure/tools.nrepl 0.2.3 :exclusions ([org.clojure/clojure])] [clojure-complete/clojure-complete 0.2.3 :exclusions ([org.clojure/clojure])] [cljfmt/cljfmt 0.2.0] [jonase/eastwood 0.2.1 :exclusions ([org.clojure/clojure])] [lein-light-nrepl/lein-light-nrepl 0.1.0] [org.clojure/tools.reader 0.8.3] [venantius/ultra 0.3.4] [mvxcvi/puget 0.8.1] [mvxcvi/whidbey 1.0.0] [im.chit/hara.class 2.1.8] [im.chit/hara.reflect 2.1.8]), :plugin-repositories [[central {:snapshots false, :url http://repo1.maven.org/maven2/}] [clojars {:url https://clojars.org/repo/}]], :test-selectors {:default (constantly true)}, :target-path /Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/target, :name local-client, :deploy-repositories [[clojars {:username :gpg, :url https://clojars.org/repo/, :password :gpg}]], :root /Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources, :offline? false, :source-paths (/Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/src), :certificates [clojars.pem], :version 0.0.1, :jar-exclusions [#"^\."], :prep-tasks [javac compile], :repositories [[central {:snapshots false, :url http://repo1.maven.org/maven2/}] [clojars {:url https://clojars.org/repo/}]], :resource-paths (/Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/dev-resources /Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/resources), :uberjar-exclusions [#"(?i)^META-INF/[^/]*\.(SF|RSA|DSA)$"], :monkeypatch-clojure-test false, :jvm-opts [], :eval-in :subprocess, :plugins ([lein-kibit/lein-kibit 0.1.2] [lein-bikeshed/lein-bikeshed 0.2.0] [lein-cljfmt/lein-cljfmt 0.2.0] [jonase/eastwood 0.2.1] [lein-pprint/lein-pprint 1.1.1] [venantius/yagni 0.1.3-SNAPSHOT] [venantius/ultra 0.3.4]), :injections ((clojure.core/require (quote ultra.hardcore)) (ultra.hardcore/add-test-hooks! {:sort-keys true, :print-fallback :print, :map-delimiter , :print-meta false, :color-scheme :solarized_dark, :stacktraces false})), :native-path /Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/target/native, :description A local light table project, :uberjar-merge-with {META-INF/plexus/components.xml leiningen.uberjar/components-merger, data_readers.clj leiningen.uberjar/clj-map-merger}, :test-paths (/Applications/LightTable.app/Contents/Resources/app.nw/plugins/clojure/runner/resources/test), :clean-targets [:target-path]}
Exception in thread "main" java.lang.RuntimeException: Unable to resolve symbol: some? in this context, compiling:(io/aviso/columns.clj:189:11)
    at clojure.lang.Compiler.analyze(Compiler.java:6380)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3573)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6562)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2664)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2677)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5708)
    at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6009)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2669)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2677)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2677)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2677)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5708)
    at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6009)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5708)
    at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6009)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5708)
    at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6009)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5708)
    at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5139)
    at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3751)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6558)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.access$100(Compiler.java:37)
    at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:529)
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
    at clojure.lang.Compiler.analyze(Compiler.java:6361)
    at clojure.lang.Compiler.analyze(Compiler.java:6322)
    at clojure.lang.Compiler.eval(Compiler.java:6623)
    at clojure.lang.Compiler.load(Compiler.java:7064)
    at clojure.lang.RT.loadResourceScript(RT.java:370)
    at clojure.lang.RT.loadResourceScript(RT.java:361)
    at clojure.lang.RT.load(RT.java:440)
    at clojure.lang.RT.load(RT.java:411)
    at clojure.core$load$fn__5018.invoke(core.clj:5530)
    at clojure.core$load.doInvoke(core.clj:5529)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5336)
    at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
    at clojure.core$load_lib.doInvoke(core.clj:5374)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$load_libs.doInvoke(core.clj:5417)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$require.doInvoke(core.clj:5496)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at io.aviso.exception$eval7687$loading__4910__auto____7688.invoke(exception.clj:1)
    at io.aviso.exception$eval7687.invoke(exception.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6619)
    at clojure.lang.Compiler.eval(Compiler.java:6608)
    at clojure.lang.Compiler.load(Compiler.java:7064)
    at clojure.lang.RT.loadResourceScript(RT.java:370)
    at clojure.lang.RT.loadResourceScript(RT.java:361)
    at clojure.lang.RT.load(RT.java:440)
    at clojure.lang.RT.load(RT.java:411)
    at clojure.core$load$fn__5018.invoke(core.clj:5530)
    at clojure.core$load.doInvoke(core.clj:5529)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5336)
    at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
    at clojure.core$load_lib.doInvoke(core.clj:5374)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$load_libs.doInvoke(core.clj:5413)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$require.doInvoke(core.clj:5496)
    at clojure.lang.RestFn.invoke(RestFn.java:482)
    at ultra.colorscheme$eval7681$loading__4910__auto____7682.invoke(colorscheme.clj:1)
    at ultra.colorscheme$eval7681.invoke(colorscheme.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6619)
    at clojure.lang.Compiler.eval(Compiler.java:6608)
    at clojure.lang.Compiler.load(Compiler.java:7064)
    at clojure.lang.RT.loadResourceScript(RT.java:370)
    at clojure.lang.RT.loadResourceScript(RT.java:361)
    at clojure.lang.RT.load(RT.java:440)
    at clojure.lang.RT.load(RT.java:411)
    at clojure.core$load$fn__5018.invoke(core.clj:5530)
    at clojure.core$load.doInvoke(core.clj:5529)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5336)
    at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
    at clojure.core$load_lib.doInvoke(core.clj:5374)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$load_libs.doInvoke(core.clj:5413)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$require.doInvoke(core.clj:5496)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at ultra.hardcore$set_colorscheme_BANG_.invoke(hardcore.clj:51)
    at clojure.lang.Var.invoke(Var.java:423)
    at clojure.lang.AFn.applyToHelper(AFn.java:167)
    at clojure.lang.Var.applyTo(Var.java:532)
    at clojure.lang.Compiler.macroexpand1(Compiler.java:6468)
    at clojure.lang.Compiler.macroexpand(Compiler.java:6529)
    at clojure.lang.Compiler.eval(Compiler.java:6603)
    at clojure.lang.Compiler.eval(Compiler.java:6582)
    at clojure.core$eval.invoke(core.clj:2852)
    at ultra.hardcore$run_configuration.invoke(hardcore.clj:61)
    at ultra.hardcore$configure_BANG_.invoke(hardcore.clj:76)
    at user$eval7677.invoke(form-init5896597690388462996.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6619)
    at clojure.lang.Compiler.eval(Compiler.java:6609)
    at clojure.lang.Compiler.eval(Compiler.java:6609)
    at clojure.lang.Compiler.eval(Compiler.java:6608)
    at clojure.lang.Compiler.eval(Compiler.java:6608)
    at clojure.lang.Compiler.eval(Compiler.java:6609)
    at clojure.lang.Compiler.eval(Compiler.java:6608)
    at clojure.lang.Compiler.load(Compiler.java:7064)
    at clojure.lang.Compiler.loadFile(Compiler.java:7020)
    at clojure.main$load_script.invoke(main.clj:294)
    at clojure.main$init_opt.invoke(main.clj:299)
    at clojure.main$initialize.invoke(main.clj:327)
    at clojure.main$null_opt.invoke(main.clj:362)
    at clojure.main$main.doInvoke(main.clj:440)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at clojure.lang.Var.invoke(Var.java:419)
    at clojure.lang.AFn.applyToHelper(AFn.java:163)
    at clojure.lang.Var.applyTo(Var.java:532)
    at clojure.main.main(main.java:37)
Caused by: java.lang.RuntimeException: Unable to resolve symbol: some? in this context
    at clojure.lang.Util.runtimeException(Util.java:219)
    at clojure.lang.Compiler.resolveIn(Compiler.java:6874)
    at clojure.lang.Compiler.resolve(Compiler.java:6818)
    at clojure.lang.Compiler.analyzeSymbol(Compiler.java:6779)
    at clojure.lang.Compiler.analyze(Compiler.java:6343)
    ... 175 more
clojure.lang.ExceptionInfo: Subprocess failed {:exit-code 1}
    at clojure.core$ex_info.invoke(core.clj:4327)
    at leiningen.core.eval$fn__3532.invoke(eval.clj:226)
    at clojure.lang.MultiFn.invoke(MultiFn.java:231)
    at leiningen.core.eval$eval_in_project.invoke(eval.clj:326)
    at clojure.lang.AFn.applyToHelper(AFn.java:167)
    at clojure.lang.AFn.applyTo(AFn.java:151)
    at clojure.core$apply.invoke(core.clj:619)
    at leiningen.repl$repl.doInvoke(repl.clj:261)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at leiningen.light_nrepl$light.doInvoke(light_nrepl.clj:56)
    at clojure.lang.RestFn.invoke(RestFn.java:423)
    at leiningen.light_nrepl$_main.doInvoke(light_nrepl.clj:68)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at leiningen.light_nrepl.main(Unknown Source)
venantius commented 9 years ago

After looking at the stacktrace my best guess is that this problem arises from the fact that LightTable is still on Clojure 1.5.1, while some?, which is in Pretty and is the root of this exception, was introduced in Clojure 1.6.0.

This leaves two options: go to the authors of Pretty and ask them to sub out (some? ...) with (not (nil? ... )), or bang on LightTable's door and try to get them to update to Clojure 1.6.0 (if not 1.7.0)! In my opinion, the latter is the more reasonable option, since LT is now two major Clojure versions behind.

Since I am in control of neither of those two parties, I'm afraid I have to flag this as a wontfix - though, for what it's worth, I'm planning on dropping the dependency on Pretty for the next major release of Ultra.

venantius commented 9 years ago

Just wanted to note that I tested this out - the ultimate culprit is the reference to (some? width) found here - https://github.com/AvisoNovate/pretty/blob/master/src/io/aviso/columns.clj#L189 - if you replace it with (not (nil? width)) and do lein install then the LT instarepl works fine.