The problem existed from Friday at about 10AM until Saturday morning
when it was found and fixed. It only occurred when compiling something
in advanced mode for the first time, which is probably why it was
missed. There are some tests in place but we haven't yet got to the
point where everything is automated. We are working toward that goal.

On Aug 7, 4:03 am, ataggart <alexclojuregr...@gmail.com> wrote:
> After introducing clojure to co-workers on Friday, one of them tried the
> ClojureScript quick start.
>
> He got this far:
>
> $ bin/cljsc hello.cljs '{:optimizations :advanced}' > hello.js
> Exception in thread "main" java.lang.NullPointerException
> at clojure.java.io$as_relative_path.invoke(io.clj:391)
> at clojure.java.io$file.invoke(io.clj:403)
> at cljs.closure$compile_file.invoke(closure.clj:279)
> at cljs.closure$eval1164$fn__1165.invoke(closure.clj:322)
> at cljs.closure$eval1095$fn__1096$G__1086__1103.invoke(closure.clj:202)
> at cljs.closure$eval1151$fn__1152.invoke(closure.clj:335)
> at cljs.closure$eval1095$fn__1096$G__1086__1103.invoke(closure.clj:202)
> at cljs.closure$build.invoke(closure.clj:725)
> at user$eval1293.invoke(cljsc.clj:21)
> at clojure.lang.Compiler.eval(Compiler.java:6406)
> at clojure.lang.Compiler.load(Compiler.java:6843)
> at clojure.lang.Compiler.loadFile(Compiler.java:6804)
> at clojure.main$load_script.invoke(main.clj:282)
> at clojure.main$script_opt.invoke(main.clj:342)
> at clojure.main$main.doInvoke(main.clj:426)
> at clojure.lang.RestFn.invoke(RestFn.java:457)
> at clojure.lang.Var.invoke(Var.java:413)
> at clojure.lang.AFn.applyToHelper(AFn.java:172)
> at clojure.lang.Var.applyTo(Var.java:518)
> at clojure.main.main(main.java:37)
>
> That was embarrassing.
>
> Looks like a null check was dropped in this commit
> be81580202ba2347ba1fea1535118b8131cfab15<https://github.com/clojure/clojurescript/commit/be81580202ba2347ba1fe...>
> .
>
> So, I step back one revision to 7f70ce1e07fd36b3dbf1696807e5b7a83f7283cf and
> try again...
>
> $ bin/cljsc hello.cljs '{:optimizations :advanced}' > hello.js
> Exception in thread "main" java.lang.RuntimeException: No such var:
> comp/dependency-order-visit, compiling:(cljs/closure.clj:373)
> at clojure.lang.Compiler.analyze(Compiler.java:6176)
> at clojure.lang.Compiler.analyze(Compiler.java:6118)
> at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3444)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6352)
> at clojure.lang.Compiler.analyze(Compiler.java:6157)
> at clojure.lang.Compiler.analyze(Compiler.java:6118)
> at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3437)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6352)
> at clojure.lang.Compiler.analyze(Compiler.java:6157)
> at clojure.lang.Compiler.analyze(Compiler.java:6118)
> at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3444)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6352)
> at clojure.lang.Compiler.analyze(Compiler.java:6157)
> at clojure.lang.Compiler.analyze(Compiler.java:6118)
> at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5513)
> at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:5814)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6350)
> at clojure.lang.Compiler.analyze(Compiler.java:6157)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6338)
> at clojure.lang.Compiler.analyze(Compiler.java:6157)
> at clojure.lang.Compiler.analyze(Compiler.java:6118)
> at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5513)
> at clojure.lang.Compiler$FnMethod.parse(Compiler.java:4949)
> at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3570)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6348)
> at clojure.lang.Compiler.analyze(Compiler.java:6157)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6338)
> at clojure.lang.Compiler.analyze(Compiler.java:6157)
> at clojure.lang.Compiler.access$100(Compiler.java:37)
> at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:492)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6350)
> at clojure.lang.Compiler.analyze(Compiler.java:6157)
> at clojure.lang.Compiler.analyze(Compiler.java:6118)
> at clojure.lang.Compiler.eval(Compiler.java:6410)
> at clojure.lang.Compiler.load(Compiler.java:6843)
> at clojure.lang.RT.loadResourceScript(RT.java:357)
> at clojure.lang.RT.loadResourceScript(RT.java:348)
> at clojure.lang.RT.load(RT.java:427)
> at clojure.lang.RT.load(RT.java:398)
> at clojure.core$load$fn__4636.invoke(core.clj:5377)
> at clojure.core$load.doInvoke(core.clj:5376)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
> at clojure.core$load_one.invoke(core.clj:5191)
> at clojure.core$load_lib.doInvoke(core.clj:5228)
> at clojure.lang.RestFn.applyTo(RestFn.java:142)
> at clojure.core$apply.invoke(core.clj:602)
> at clojure.core$load_libs.doInvoke(core.clj:5262)
> at clojure.lang.RestFn.applyTo(RestFn.java:137)
> at clojure.core$apply.invoke(core.clj:602)
> at clojure.core$require.doInvoke(core.clj:5343)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
> at user$eval1.invoke(cljsc.clj:9)
> at clojure.lang.Compiler.eval(Compiler.java:6406)
> at clojure.lang.Compiler.load(Compiler.java:6843)
> at clojure.lang.Compiler.loadFile(Compiler.java:6804)
> at clojure.main$load_script.invoke(main.clj:282)
> at clojure.main$script_opt.invoke(main.clj:342)
> at clojure.main$main.doInvoke(main.clj:426)
> at clojure.lang.RestFn.invoke(RestFn.java:457)
> at clojure.lang.Var.invoke(Var.java:413)
> at clojure.lang.AFn.applyToHelper(AFn.java:172)
> at clojure.lang.Var.applyTo(Var.java:518)
> at clojure.main.main(main.java:37)
> Caused by: java.lang.RuntimeException: No such var:
> comp/dependency-order-visit
> at clojure.lang.Util.runtimeException(Util.java:144)
> at clojure.lang.Compiler.resolveIn(Compiler.java:6635)
> at clojure.lang.Compiler.resolve(Compiler.java:6605)
> at clojure.lang.Compiler.analyzeSymbol(Compiler.java:6566)
> at clojure.lang.Compiler.analyze(Compiler.java:6139)
> ... 62 more
>
> Determined, I carry on and step back to
> 7a179189f6114b0620875d3d521789472ec04aa3:
>
> $ bin/cljsc hello.cljs '{:optimizations :advanced}' > hello.js
> Aug 7, 2011 12:45:34 AM com.google.javascript.jscomp.LoggerErrorManager
> println
> WARNING: /Users/ataggart/projects/clojurescript/out/cljs/core.js:3564:
> WARNING - dangerous use of the global this object
> {return this.call(null,(args[0]));
>         ^
>
> Aug 7, 2011 12:45:34 AM com.google.javascript.jscomp.LoggerErrorManager
> println
> WARNING: /Users/ataggart/projects/clojurescript/out/cljs/core.js:3566:
> WARNING - dangerous use of the global this object
> {return this.call(null,(args[0]),(args[1]));
>         ^
>
> Aug 7, 2011 12:45:34 AM com.google.javascript.jscomp.LoggerErrorManager
> printSummary
> WARNING: 0 error(s), 2 warning(s)
>
> Well, at least it sort of worked.
>
> I know ClojureScript is very new and in active development, but it'd be
> better PR if one could at least get through the quick start.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to