0.5.19

3,300 views
Skip to first unread message

Chris Granger

unread,
Nov 11, 2013, 9:58:01 PM11/11/13
to light-table...@googlegroups.com
Plugin loading is in! So, for example, you can clone https://github.com/Kodowa/LightTable-Emmet/ into the plugins dir and it will load it. Lots of good bug fixes in here too.

##0.5.19

* FIX: merge :repl-options :init correctly if it's in your project.clj
* FIX: nodejs require failed with certain module loading patterns
* FIX: with the nodejs client you couldn't use a pathless file as a repl
* FIX: tag specificity ordering bug
* FIX: typing very fast after bringing up the findbar would sometimes cause it to overwrite input
* FIX: correctly catch assertion errors #590
* FIX: Linux start script doesn't handle symlinks well #885
* FIX: Rest args in anonymous functions don't work #569, #256, #779, #881
* ADDED: :verbatim option to eval.custom
* ADDED: copy/paste using browser tab context menu
* ADDED: xml file type
* ADDED: :editor.keys.hinting.active tag to allow you to override hinting keybindings
* ADDED: plugins can be loaded from the plugins/ dir
* ADDED: __ID__ and __SELECTION\*__ for custom watches
* UPDATED: CodeMirror vim mode
* UPDATED: latest CodeMirror
* UPDATED: CLJS 2030
* UPDATED: lein-light-nrepl 0.0.8

Cheers,
Chris.

Oliver George

unread,
Nov 11, 2013, 10:24:24 PM11/11/13
to light-table...@googlegroups.com
First plugin!  Congrats.

I have it working although the key bindings didn't come through until you run "reload keymaps".

So nice to have Zen Coding back.

Daniel Ribeiro

unread,
Nov 11, 2013, 10:41:38 PM11/11/13
to light-table...@googlegroups.com
Thanks so much for this.

tcr...@gmail.com

unread,
Nov 12, 2013, 12:06:02 AM11/12/13
to light-table...@googlegroups.com
This latest release broke something:

We couldn't connect.

Looks like there was an issue trying to connect to the project. Here's what we got:

Error loading lighttable.nrepl.handler: java.lang.RuntimeException: Unable to resolve var: reader/*alias-map* in this context, compiling:(cljs/analyzer.clj:1219:9)
Exception in thread "main" java.lang.RuntimeException: Unable to resolve var: lighttable.nrepl.handler/lighttable-ops in this context, compiling:(/private/var/folders/39/6yj2mpzn00lcb3g25f39vl_h0000gn/T/form-init189993289165066025.clj:1:4920)
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6567)
	at clojure.lang.Compiler.analyze(Compiler.java:6361)
	at clojure.lang.Compiler.analyze(Compiler.java:6322)
	at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3624)
	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$InvokeExpr.parse(Compiler.java:3624)
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6562)
	at clojure.lang.Compiler.analyze(Compiler.java:6361)
	at clojure.lang.Compiler.access$100(Compiler.java:37)
	at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:5973)
	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$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.eval(Compiler.java:6616)
	at clojure.lang.Compiler.eval(Compiler.java:6609)
	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 var: lighttable.nrepl.handler/lighttable-ops in this context
	at clojure.lang.Util.runtimeException(Util.java:219)
	at clojure.lang.Compiler$TheVarExpr$Parser.parse(Compiler.java:650)
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
	... 33 more
clojure.lang.ExceptionInfo: Subprocess failed {:exit-code 1}
	at clojure.core$ex_info.invoke(core.clj:4327)
	at leiningen.core.eval$fn__2079.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:253)
	at clojure.lang.RestFn.invoke(RestFn.java:425)
	at leiningen.light_nrepl$light.doInvoke(light_nrepl.clj:36)
	at clojure.lang.RestFn.invoke(RestFn.java:423)
	at leiningen.light_nrepl$_main.doInvoke(light_nrepl.clj:48)
	at clojure.lang.RestFn.invoke(RestFn.java:397)
	at clojure.lang.AFn.applyToHelper(AFn.java:159)
	at clojure.lang.RestFn.applyTo(RestFn.java:132)
	at leiningen.light_nrepl.main(Unknown Source)

  • close

Chris Granger

unread,
Nov 12, 2013, 12:10:41 AM11/12/13
to light-table...@googlegroups.com
We moved to a newer CLJS and a newer tools.reader this is likely the result of using an older one of those.

Cheers,
Chris.


--
You received this message because you are subscribed to the Google Groups "Light Table Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discu...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Daniel Neal

unread,
Nov 12, 2013, 4:17:15 AM11/12/13
to light-table...@googlegroups.com
Great news!

Also I noticed another fix in there - when editing the keymaps - the command autocomplete popup now includes the command keyword, not just the description. This is really helpful, thanks :)

Dan

Cheers,
Chris.


To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discussion+unsub...@googlegroups.com.

ullmann...@gmail.com

unread,
Nov 12, 2013, 5:06:12 AM11/12/13
to light-table...@googlegroups.com
Eval editor contents fails with:

    

We couldn't connect.

Looks like there was an issue trying to connect to the project. Here's what we got:

final project:  {:nrepl-middleware [lighttable.nrepl.handler/lighttable-ops], :init (clojure.core/swap! lighttable.nrepl.core/my-settings clojure.core/merge {:name "quiz 0.0.1", :project (quote {:compile-path "/Users/philipp/Documents/omv_quiz/repo/clj_web_app/target/classes", :group "quiz", :license {:name "Eclipse Public License", :url "http://www.eclipse.org/legal/epl-v10.html"}, :global-vars {}, :checkout-deps-shares [:source-paths :test-paths :resource-paths :compile-path #'leiningen.core.classpath/checkout-deps-paths], :dependencies ([org.clojure/clojure "1.5.1"] [org.clojure/java.jdbc "0.3.0-alpha5"] [mysql/mysql-connector-java "5.1.26"] [c3p0/c3p0 "0.9.1.2"] [environ/environ "0.4.0"] [ring/ring-core "1.2.1"] [ring/ring-jetty-adapter "1.2.1"] [compojure/compojure "1.1.6"] [hiccup/hiccup "1.0.4"] [clj-time/clj-time "0.6.0"] [org.clojure/tools.nrepl "0.2.3" :exclusions ([org.clojure/clojure])] [clojure-complete/clojure-complete "0.2.3" :exclusions ([org.clojure/clojure])] [spyscope/spyscope "0.1.3"] [redl/redl "0.2.0"] [ring/ring-devel "1.2.1"] [midje/midje "1.5.1"]), :plugin-repositories [["central" {:snapshots false, :url "http://repo1.maven.org/maven2/"}] ["clojars" {:url "https://clojars.org/repo/"}]], :test-selectors {:default (constantly true)}, :target-path "/Users/philipp/Documents/omv_quiz/repo/clj_web_app/target", :name "quiz", :deploy-repositories [["clojars" {:username :gpg, :url "https://clojars.org/repo/", :password :gpg}]], :root "/Users/philipp/Documents/omv_quiz/repo/clj_web_app", :offline? false, :source-paths ("/Users/philipp/Documents/omv_quiz/repo/clj_web_app/src"), :certificates ["clojars.pem"], :ring {:nrepl {:start? true}, :handler quiz.core/app}, :version "0.0.1", :jar-exclusions [#"^\."], :profiles {:dev {:dependencies [[ring/ring-devel "1.2.1"] [midje "1.5.1"]]}}, :prep-tasks ["javac" "compile"], :url "g...@github.com:create-mediadesign/omv-quiz.git", :repositories [["central" {:snapshots false, :url "http://repo1.maven.org/maven2/"}] ["clojars" {:url "https://clojars.org/repo/"}]], :resource-paths ("/Users/philipp/Documents/omv_quiz/repo/clj_web_app/dev-resources" "/Users/philipp/Documents/omv_quiz/repo/clj_web_app/resources"), :uberjar-exclusions [#"(?i)^META-INF/[^/]*\.(SF|RSA|DSA)$"], :jvm-opts [], :eval-in :subprocess, :plugins ([lein-ring/lein-ring "0.8.8"] [lein-pprint/lein-pprint "1.1.1"] [lein-midje/lein-midje "3.1.2"]), :injections [(require (quote spyscope.core)) (require (quote [redl complete core]))], :native-path "/Users/philipp/Documents/omv_quiz/repo/clj_web_app/target/native", :description "OMV quiz", :uberjar-merge-with {"META-INF/plexus/components.xml" leiningen.uberjar/components-merger, "data_readers.clj" leiningen.uberjar/clj-map-merger}, :test-paths ("/Users/philipp/Documents/omv_quiz/repo/clj_web_app/test"), :clean-targets [:target-path]})})}
Error loading lighttable.nrepl.handler: java.lang.RuntimeException: Unable to resolve var: reader/*alias-map* in this context, compiling:(cljs/analyzer.clj:1219:9)
Exception in thread "main" java.lang.RuntimeException: Unable to resolve var: lighttable.nrepl.handler/lighttable-ops in this context, compiling:(/private/var/folders/lf/28nckf7128x1ghp14zgyyxj80000gn/T/form-init3588719448744528191.clj:1:4032)
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6567)
	at clojure.lang.Compiler.analyze(Compiler.java:6361)
	at clojure.lang.Compiler.analyze(Compiler.java:6322)
	at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3624)
	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$InvokeExpr.parse(Compiler.java:3624)
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6562)
	at clojure.lang.Compiler.analyze(Compiler.java:6361)
	at clojure.lang.Compiler.access$100(Compiler.java:37)
	at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:5973)
	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$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.eval(Compiler.java:6616)
	at clojure.lang.Compiler.eval(Compiler.java:6609)
	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 var: lighttable.nrepl.handler/lighttable-ops in this context
	at clojure.lang.Util.runtimeException(Util.java:219)
	at clojure.lang.Compiler$TheVarExpr$Parser.parse(Compiler.java:650)
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
	... 33 more
clojure.lang.ExceptionInfo: Subprocess failed {:exit-code 1}
	at clojure.core$ex_info.invoke(core.clj:4327)
	at leiningen.core.eval$fn__2079.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:253)
	at clojure.lang.RestFn.invoke(RestFn.java:425)
	at leiningen.light_nrepl$light.doInvoke(light_nrepl.clj:36)
	at clojure.lang.RestFn.invoke(RestFn.java:423)
	at leiningen.light_nrepl$_main.doInvoke(light_nrepl.clj:48)
	at clojure.lang.RestFn.invoke(RestFn.java:397)
	at clojure.lang.AFn.applyToHelper(AFn.java:159)
	at clojure.lang.RestFn.applyTo(RestFn.java:132)
	at leiningen.light_nrepl.main(Unknown Source)

  • close




project.clj:

:dependencies [[org.clojure/clojure "1.5.1"]
                 [org.clojure/java.jdbc "0.3.0-alpha5"]
                 [mysql/mysql-connector-java "5.1.26"]
                 [c3p0/c3p0 "0.9.1.2"]
                 [environ "0.4.0"]
                 [ring/ring-core "1.2.1"]
                 [ring/ring-jetty-adapter "1.2.1"]
                 [compojure "1.1.6"]
                 [hiccup "1.0.4"]
                 [clj-time "0.6.0"]]
  :profiles {:dev {:dependencies [[ring/ring-devel "1.2.1"]
                                  [midje "1.5.1"]]}}
  :plugins [[lein-ring "0.8.8"]]
  :ring {:handler quiz.core/app
         :nrepl {:start? true}})

tcr...@gmail.com

unread,
Nov 12, 2013, 9:35:19 AM11/12/13
to light-table...@googlegroups.com
Looks like [ring/ring-core "1.2.1"] is going to be the big problem for people (causes the project connect error).

(defproject test/test "0.1.0"
  :dependencies [[org.clojure/clojure "1.5.1"]
                         [ring/ring-core "1.2.1"]]
  :source-paths ["src/clojure"]
  :main test
  :min-lein-version "2.0.0"
  :description "test-application")



Kamil Toman

unread,
Nov 12, 2013, 10:12:08 AM11/12/13
to light-table...@googlegroups.com
Transitively added clj/clj-http 0.6.5 is also an offender. Inclusion of [clj-http "0.7.7"] into a project breaks the LT connection.

Kamil


Chris Granger

unread,
Nov 12, 2013, 2:49:59 PM11/12/13
to light-table...@googlegroups.com
I was able to get a project with clj-http and ring-core going with 0.5.20, so hopefully that patches things up for everyone.

Cheers,
Chris.

ullmann...@gmail.com

unread,
Nov 13, 2013, 1:35:56 AM11/13/13
to light-table...@googlegroups.com
Light table version 0.5.20 fixed the issue. Thank you so much!


On Tuesday, November 12, 2013 8:49:59 PM UTC+1, Chris Granger wrote:
I was able to get a project with clj-http and ring-core going with 0.5.20, so hopefully that patches things up for everyone.

Cheers,
Chris.


On Tue, Nov 12, 2013 at 7:12 AM, Kamil Toman <kamil...@leafclick.com> wrote:
Transitively added clj/clj-http 0.6.5 is also an offender. Inclusion of [clj-http "0.7.7"] into a project breaks the LT connection.

Kamil
On Tue, Nov 12, 2013 at 3:35 PM, <tcr...@gmail.com> wrote:
Looks like [ring/ring-core "1.2.1"] is going to be the big problem for people (causes the project connect error).

(defproject test/test "0.1.0"
  :dependencies [[org.clojure/clojure "1.5.1"]
                         [ring/ring-core "1.2.1"]]
  :source-paths ["src/clojure"]
  :main test
  :min-lein-version "2.0.0"
  :description "test-application")



--
You received this message because you are subscribed to the Google Groups "Light Table Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discussion+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Light Table Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discussion+unsub...@googlegroups.com.

Ethan Sherbondy

unread,
Nov 13, 2013, 11:33:23 AM11/13/13
to light-table...@googlegroups.com
I'm a little perplexed about how I enable a plugin.
On my system, the LightTable folder is located at /usr/local/LightTable
Here's what I attempted:
cd /usr/local/LightTable/plugins

Then I launched the Light Table application, tried pressing ctrl-space to bring up the command search and began typing "emmet."
No results showed up. At this point, I tried "App: reload behaviors." Then reattempted the search. Nothing.
Then I tried editing my user.behaviors and began typing "emmet" in my editor, to no effect. No autocomplete suggestions were offered.

What am I doing incorrectly?

Another thing: the behaviors file hints look different in >5.19: they no longer show the arguments that the functions take.
Was this deliberate? Attached is a screenshot of what it looks like on my computer.

For the record, I am running Debian Wheezy on a 64-bit machine.

On Monday, November 11, 2013 9:58:01 PM UTC-5, Chris Granger wrote:
Screenshot from 2013-11-13 11:30:46.png

Irakli Gozalishvili

unread,
Nov 13, 2013, 4:28:19 PM11/13/13
to light-table...@googlegroups.com
Hi Chris,

I'm tying to use jshint plugin bundled with 0.5.20 but having issues configuring it's behaviours, I have submitted more details

I was wondering where can I put my :lt.plugins.jshint/on-change and (:lt.plugins.jshint/jshint-options {:esnext true ….}) so that
LT will actually make use of them ?


Regards
--
Irakli Gozalishvili
Web: http://www.jeditoolkit.com/

--
You received this message because you are subscribed to the Google Groups "Light Table Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discu...@googlegroups.com.

Oliver George

unread,
Nov 13, 2013, 9:39:09 PM11/13/13
to light-table...@googlegroups.com
Try running the "reload keymaps" command.  After that I had the key-bindings.

Daniel Fitzpatrick

unread,
Nov 18, 2013, 11:15:35 AM11/18/13
to light-table...@googlegroups.com
Is the plugin tooling good enough for adding support for more languages?

Wes Morgan

unread,
Nov 21, 2013, 1:29:59 PM11/21/13
to light-table...@googlegroups.com
I'm still getting this Unable to resolve var: lighttable.nrepl.handler/lighttable-ops error on project connect on 0.5.20 on one project. Below is the relevant portion of the project.clj. Hopefully that gives someone an idea of what I can try to fix it. lein-ancient reports that I'm up to date, but I didn't run it recursively. Thanks!

  :dependencies [[org.clojure/clojure "1.5.1"]
                 [turbovote/clj-time "0.5.1-SNAPSHOT"]
                 [turbovote/korma "0.3.1-SNAPSHOT"]
                 [mysql/mysql-connector-java "5.1.27"]
                 [sonian/carica "1.0.3"]
                 [cheshire "5.2.0"]
                 [resque-clojure "0.3.0"]
                 [org.clojure/tools.cli "0.2.4"]
                 [clojure-csv "2.0.1"]
                 [clj-yaml "0.4.0"]
                 [org.clojure/tools.reader "0.8.0"]
                 [org.clojure/core.async "0.1.242.0-44b1e3-alpha"]]
  :plugins      [[s3-wagon-private "1.1.2"]]
  :profiles     {:dev        {:dependencies [[midje "1.5.1"]
                                             [clj-factory "0.2.1"]
                                             [utilize "0.2.3"]]}
                 :test       {:dependencies [[midje "1.5.1"]
                                             [clj-factory "0.2.1"]
                                             [utilize "0.2.3"]
                                             [org.clojure/tools.trace "0.7.6"]]
                              :plugins      [[lein-midje "3.1.0"]]
                              :resource-paths ["test-resources"]}

- Wes

mynomoto

unread,
Nov 21, 2013, 1:39:32 PM11/21/13
to light-table...@googlegroups.com
Try adding [org.clojure/clojurescript "0.0-2030"] to your dependencies. It did the trick for me.

Marcelo

Chris Granger

unread,
Nov 21, 2013, 1:51:40 PM11/21/13
to light-table...@googlegroups.com
I was able to connect to your project if I removed the to turbovote deps (since it couldn't find those anywhere). Try deleting your ~/.m2/repository maybe you have a bad dep in there somewhere or something.

Cheers,
Chris.


--
You received this message because you are subscribed to the Google Groups "Light Table Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discu...@googlegroups.com.

Nikita Kitaev

unread,
Nov 24, 2013, 1:17:26 AM11/24/13
to light-table...@googlegroups.com
Quick question: how do you compile CLJS plugins?

When I try, the compiler prepends all of ClojureScript and the Google libraries to the js file. I have to strip them out [1] to make the file more readable

(I don't have any past experience with clojurescript)

Thanks!
~Nikita

[1] https://github.com/nikitakit/lighttable-plugins/blob/master/ergoemacs/build

Chris Granger

unread,
Nov 24, 2013, 1:19:57 AM11/24/13
to light-table...@googlegroups.com
Plugin authoring hasn't really been released yet. There's internal cleanup that I'm working on now that needs to happen before I'm ready for people start relying on any of this stuff. Once that *is* released, you'll just save in a cljs file that has a plugin.edn/json at the root and it will compile it for you.

Cheers,
Chris.


Simon Brooke

unread,
Dec 12, 2013, 10:03:56 AM12/12/13
to light-table...@googlegroups.com
OK, I have the identical problem. I'm developing in clojure, server-side, not clojurescript. What steps do I need to take to resolve it?

Many thanks

Cheers,
Chris.


To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discussion+unsub...@googlegroups.com.

Chris Granger

unread,
Dec 12, 2013, 2:46:11 PM12/12/13
to light-table...@googlegroups.com
Can I see your project.clj?

Cheers,
Chris.


To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discu...@googlegroups.com.

Simon Brooke

unread,
Dec 13, 2013, 4:46:16 AM12/13/13
to light-table...@googlegroups.com
OK, let's go through this. Both on my laptop and my desktop I'm running a version of Lighttable which describes itself as

Light Table version 0.5.20 Binary version 0.7.2

The presenting problem is:

Looks like there was an issue trying to connect to the project. Here's what we got:
final project:  ([com.h2database/h2 "1.3.174"] [ring-server/ring-server "0.3.1"] [environ/environ "0.4.0"] [com.taoensso/timbre "2.7.1"] [markdown-clj/markdown-clj "0.9.35"] [korma/korma "0.3.0-RC6"] [com.taoensso/tower "2.0.1"] [org.clojure/clojure "1.5.1"] [selmer/selmer "0.5.4"] [log4j/log4j "1.2.17" :exclusions ([javax.mail/mail] [javax.jms/jms] [com.sun.jdmk/jmxtools] [com.sun.jmx/jmxri])] [compojure/compojure "1.1.6"] [lib-noir/lib-noir "0.7.6"] [com.postspectacular/rotor "0.1.0"] [org.clojure/tools.nrepl "0.2.3" :exclusions ([org.clojure/clojure])] [clojure-complete/clojure-complete "0.2.3" :exclusions ([org.clojure/clojure])] [ring-mock/ring-mock "0.1.5"] [ring/ring-devel "1.2.1"] [lein-light-nrepl/lein-light-nrepl "0.0.9"] [org.clojure/tools.reader "0.7.10"])
Error loading lighttable.nrepl.handler: java.lang.RuntimeException: Unable to resolve var: reader/*alias-map* in this context, compiling:(cljs/analyzer.clj:1219:9)
Exception in thread "main" java.lang.RuntimeException: Unable to resolve var: lighttable.nrepl.handler/lighttable-ops in this context, compiling:(/tmp/form-init572520409690775710.clj:1:5331)
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6567)
	at clojure.lang.Compiler.analyze(Compiler.java:6361)
	at clojure.lang.Compiler.analyze(Compiler.java:6322)
	at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3624)
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6562)
	at clojure.lang.Compiler.analyze(Compiler.java:6361)
	at clojure.lang.Compiler.analyze(Compiler.java:6322)
My project.clj as follows:

(defproject
  ecommercescotland
  "0.1.1"
  :repl-options
  {:init-ns ecommercescotland.repl}
  :dependencies
  [
   ;; [postgresql/postgresql "9.1-901.jdbc4"]
   [com.h2database/h2 "1.3.174"]
   [ring-server "0.3.1"]
   [environ "0.4.0"]
   [com.taoensso/timbre "2.7.1"]
   [markdown-clj "0.9.35"]
   [korma "0.3.0-RC6"]
   [com.taoensso/tower "2.0.1"]
   [org.clojure/clojure "1.5.1"]
   [selmer "0.5.4"]
   [log4j
    "1.2.17"
    :exclusions
    [javax.mail/mail
     javax.jms/jms
     com.sun.jdmk/jmxtools
     com.sun.jmx/jmxri]]
   [compojure "1.1.6"]
   [lib-noir "0.7.6"]
   [com.postspectacular/rotor "0.1.0"]]
  :ring {:handler ecommercescotland.handler/app,
   :init ecommercescotland.handler/init,
   :destroy ecommercescotland.handler/destroy}
  :profiles {:production
   {:ring
    {:open-browser? false, :stacktraces? false, :auto-reload? false}},
   :dev
   {:dependencies [[ring-mock "0.1.5"] [ring/ring-devel "1.2.1"]],
    :env {:selmer-dev true}}}
  :url
  :aot
  :all
  :plugins[[lein-ring "0.8.8"]
   [lein-environ "0.4.0"]]
  :description
  "Website for eCommerce Scotland event"
  :min-lein-version "2.0.0"
  :war {@name "ecommercescotland.war"})


Hope this helps.

I really like Lighttable; it's the best programmer's editor I've used since InterLISP's DEdit.


--
You received this message because you are subscribed to a topic in the Google Groups "Light Table Discussion" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/light-table-discussion/Jy03Ka73-Qk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to light-table-discu...@googlegroups.com.

Icarium

unread,
Dec 22, 2013, 6:45:03 PM12/22/13
to light-table...@googlegroups.com, si...@journeyman.cc
I am getting the same error with a freshly installed lein and lighttable 5.20. Is there something that I can do to get past this?

Cheers,
Chris.



Cheers,
Chris.


To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discussion+unsubscri...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Light Table Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discussion+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to a topic in the Google Groups "Light Table Discussion" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/light-table-discussion/Jy03Ka73-Qk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to light-table-discussion+unsub...@googlegroups.com.

Simon Brooke

unread,
Dec 23, 2013, 5:33:19 AM12/23/13
to light-table...@googlegroups.com, si...@journeyman.cc
Investigating this this morning, I ran

lein upgrade

to check I was on the latest version, and then

lein new lttest

to create a minimal project. The project.clj file as follows:

(defproject lttest "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :license {:name "Eclipse Public License"
  :dependencies [[org.clojure/clojure "1.5.1"]])

I then invoked LightTable, and started a new connection based on this project file. That worked.

I then tried again with my real project (project.clj as above) and got the same failure I documented above. The core of the problem seems to be:
Unable to resolve var: reader/*alias-map* in this context, compiling:(cljs/analyzer.clj:1219:9)

In a version of clojurescript just cloned this morning, cljs/analyzer refers to *alias-map* three times, as follows:

simon@engraver:~/tmp$ git clone https://github.com/clojure/clojurescript.git
Cloning into 'clojurescript'...
remote: Counting objects: 14347, done.
remote: Compressing objects: 100% (8051/8051), done.
remote: Total 14347 (delta 5956), reused 12768 (delta 4411)
Receiving objects: 100% (14347/14347), 3.96 MiB | 113 KiB/s, done.
Resolving deltas: 100% (5956/5956), done.
simon@engraver:~/tmp$ cd clojurescript/
simon@engraver:~/tmp/clojurescript$ grep -rn alias-map *
src/clj/cljs/repl.clj:212:                                 reader/*alias-map*
src/clj/cljs/compiler.clj:873:                    reader/*alias-map* (or reader/*alias-map* {})
src/clj/cljs/analyzer.clj:1497:          (binding [reader/*alias-map* (or reader/*alias-map* {})]
src/clj/cljs/analyzer.clj:1544:                                   reader/*alias-map*
src/clj/cljs/analyzer.clj:1565:                reader/*alias-map* (or reader/*alias-map* {})]

However, interestingly, this doesn't agree with what you see on the github website, where line 873 is different. The other references are the same, though, and all though the instances at lines 1497, 1544 and 1565 appear different from one another, in fact they are semantically the same, it's just that at lines 1544 and 1565 other bindings are being captured in the same binding form.

So then, of course, I tried to start a connection using my just checked out version of the clojurescript master branch, and this time got this failure:

We couldn't connect.

Looks like there was an issue trying to connect to the project. Here's what we got:

final project:  ([org.clojure/clojure "1.5.1"] [org.clojure/data.json "0.2.3"] [org.clojure/tools.reader "0.7.10"] [org.clojure/google-closure-library "0.0-20130212-95c19e7f0f5f"] [com.google.javascript/closure-compiler "v20131014"] [org.mozilla/rhino "1.7R4"] [org.clojure/tools.nrepl "0.2.3" :exclusions ([org.clojure/clojure])] [clojure-complete/clojure-complete "0.2.3" :exclusions ([org.clojure/clojure])] [lein-light-nrepl/lein-light-nrepl "0.0.9"])
Retrieving com/google/javascript/closure-compiler/v20131014/closure-compiler-v20131014.pom from central
Retrieving com/google/guava/guava/15.0/guava-15.0.pom from central
Retrieving com/google/guava/guava-parent/15.0/guava-parent-15.0.pom from central
Retrieving com/google/guava/guava/15.0/guava-15.0.jar from central
Retrieving com/google/javascript/closure-compiler/v20131014/closure-compiler-v20131014.jar from central
Error loading lighttable.nrepl.handler: java.lang.RuntimeException: Unable to resolve var: cljs.compiler/*cljs-source-map* in this context, compiling:(lighttable/nrepl/cljs.clj:106:9)
Exception in thread "main" java.lang.RuntimeException: Unable to resolve var: lighttable.nrepl.handler/lighttable-ops in this context, compiling:(/tmp/form-init3296693736094813860.clj:1:3799)
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6567)
	at clojure.lang.Compiler.analyze(Compiler.java:6361)
	at clojure.lang.Compiler.analyze(Compiler.java:6322)
	at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3624)
	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6562)
	at clojure.lang.Compiler.analyze(Compiler.java:6361)
	at clojure

The problem is once again in ClojureScript, and it once again has to do with the binding of vars: but this time it's explicitly because lighttable is relying on the existence of a variable in cljs (cljs.compiler/*cljs-source-map*) which does not exist in the current version:

simon@engraver:~/tmp/clojurescript$ grep -r cljs-source-map .
simon@engraver:~/tmp/clojurescript$ 

So if I were to try to briefly characterise the problem, it is that:

(1) LightTable has extremely intimate dependence on ClojureScript;
(2) The ClojureScript API is not stable;
(3) Therefore, if a project depends (even if indirectly) on a slightly different version of ClojureScript, it breaks.

Chris, do you agree with this analysis? If so, would a solution be to fork ClojureScript into a slightly different namespace (lighttable.cljs, for example) so that name collisions between the host (lighttable) version and the hosted (user project version) would not break lighttable?

Cheers

Simon

Simon Brooke

unread,
Dec 23, 2013, 5:38:04 AM12/23/13
to light-table...@googlegroups.com


On Monday, 23 December 2013 10:33:19 UTC, Simon Brooke wrote:
In a version of clojurescript just cloned this morning, cljs/analyzer refers to *alias-map* three times, as follows:

simon@engraver:~/tmp$ git clone https://github.com/clojure/clojurescript.git
Cloning into 'clojurescript'...
remote: Counting objects: 14347, done.
remote: Compressing objects: 100% (8051/8051), done.
remote: Total 14347 (delta 5956), reused 12768 (delta 4411)
Receiving objects: 100% (14347/14347), 3.96 MiB | 113 KiB/s, done.
Resolving deltas: 100% (5956/5956), done.
simon@engraver:~/tmp$ cd clojurescript/
simon@engraver:~/tmp/clojurescript$ grep -rn alias-map *
src/clj/cljs/repl.clj:212:                                 reader/*alias-map*
src/clj/cljs/compiler.clj:873:                    reader/*alias-map* (or reader/*alias-map* {})
src/clj/cljs/analyzer.clj:1497:          (binding [reader/*alias-map* (or reader/*alias-map* {})]
src/clj/cljs/analyzer.clj:1544:                                   reader/*alias-map*
src/clj/cljs/analyzer.clj:1565:                reader/*alias-map* (or reader/*alias-map* {})]

However, interestingly, this doesn't agree with what you see on the github website, where line 873 is different. The other references are the same, though, and all though the instances at lines 1497, 1544 and 1565 appear different from one another, in fact they are semantically the same, it's just that at lines 1544 and 1565 other bindings are being captured in the same binding form.

I am an idiot. The reference to line 873 is in a different file, of course.

However, that does not invalidate my diagnosis, I think? 

Chris Granger

unread,
Dec 23, 2013, 1:08:13 PM12/23/13
to light-table...@googlegroups.com
Yeah, CLJS went through a series of breaking changes recently. We should be able to handle anything >= 2030 as of the next release.

Cheers,
Chris.


--
You received this message because you are subscribed to the Google Groups "Light Table Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discu...@googlegroups.com.

David Simmons

unread,
Dec 28, 2013, 11:24:22 AM12/28/13
to light-table...@googlegroups.com
Hi Chris 

do you know when the next release will be?

Kind Regards

Dave 

Chris Granger

unread,
Dec 28, 2013, 2:39:24 PM12/28/13
to light-table...@googlegroups.com
We're shooting for the 6th. And I'll tell you now that it's the most important release of LT up to this point :)

Cheers,
Chris.


--

David Simmons

unread,
Dec 29, 2013, 4:20:12 AM12/29/13
to light-table...@googlegroups.com
Fantastic news - can't wait for the 6th - Great start to the New Year.

cheers

Dave 
Reply all
Reply to author
Forward
0 new messages