Also, a warning about breaking change with the strings no longer being
keywords:

Previously in ClojureScript, strings could be invoked to look themselves up
as keys inside maps, just like keywords. So both (:a {:a 10 "b" 20}) and
("b" {:a 10 "b" 20}) would work (the latter will not work in vanilla
Clojure). We had a few places where we (Zenbox) were doing this without
realizing it (think (defn my-fn [k] (k @profiles)) and k ends up being a
string).

This worked because previously ClojureScript modified the String.prototype
to add a .call and a .apply method. Many of you will have run into problems
with JS interop where this broke other libraries' type-checking (see
https://groups.google.com/forum/#!topic/clojure/NPWnikR8tro for an example
if not).

If you want to upgrade and run into problems with the unmodified
String.prototype, of course the best thing to do would be to write some
tests and fix the problems. If that's not possible, a (very) temporary
workaround is to use the old code here:
https://github.com/clojure/clojurescript/blob/a113b08a8c2811b0590cc6a36b2e9e5adc1c4c1e/src/cljs/cljs/core.cljs#L2060-L2074

Hope this might save some confusing late night debugging sessions.

Best,
Sean


On Mon, Sep 9, 2013 at 7:15 AM, David Nolen <dnolen.li...@gmail.com> wrote:

> Are you trying that with an existing project that may have a stale target
> directory lying around? If you can reproduce this issue after a `lein
> cljsbuild clean` then yes please open a ticket with a minimal project that
> exhibits the issue.
>
> Thanks!
> David
>
>
> On Mon, Sep 9, 2013 at 9:18 AM, Julien Eluard <julien.elu...@gmail.com>wrote:
>
>> Hi David,
>>
>> that is really nice! Speedup during incremental build is definitively the
>> one thing that would improve my ClojureScript dev workflow.
>>
>> I gave this build a try with lein-cljsbuild and got some unexpected
>> WARNINGS.
>>
>> What I am doing:
>> * lein cljsbuild once => everything is fine
>> * change some cljs file
>> * lein cljsbuild once
>>  => tons of WARNINGS, all variations of "WARNING: Use of undeclared Var
>> clojure.string/reduce at line 16
>> file:/Users/../clojurescript-0.0-1877.jar!/clojure/string.cljs"
>>
>> It looks like unchanged cljs files also generate those warnings (but I am
>> not quite sure what the incremental compilation does exactly).
>>
>> Interestingly resulting js file seems correct.
>>
>> Let me know if I should open a JIRA/create a simple reproducing example.
>>
>> Thanks for the awesome work on ClojureScript,
>> Julien
>>
>>
>> Le dimanche 8 septembre 2013 20:42:51 UTC-3, David Nolen a écrit :
>> > ClojureScript, the Clojure compiler that emits JavaScript source code.
>> >
>> >
>> > README and source code: https://github.com/clojure/clojurescript
>> >
>> >
>> > New release version: 0.0-1877
>> >
>> >
>> > Leiningen dependency information:
>> >
>> >     [org.clojure/clojurescript "0.0-1877"]
>> >
>> >
>> >
>> >
>> >
>> > Breaking Changes:
>> >
>> > * Keywords are no longer represented as JavaScript Strings
>> >
>> >
>> >
>> >
>> > Enhancements:
>> >
>> > * Only analyze files that need re-analysis, significant speedup for
>> incremental compilation
>> > * Leiningen project.clj provided
>> >
>> >
>> > Fixes:
>> > * CLJS-582: duplicate items in sets
>> >
>> > * CLJS-585: ChunkedCons does not implement INext
>> > * ClojureScript clojure.string/split same behavior as Clojure
>> >
>> > * CLJS-565: Allow the clojurescript reader to read "%"
>> > * CLJS-580: def + fn bug when fn in a data literal
>> >
>> > * CLJS-509: spurious protocol warning under incremental compilation
>>
>> --
>> --
>> 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
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@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 "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
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@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 "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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to