Apologies in trying to fix CLJS-84, I broke some things. This is backed out now and in its own branch.
David On Tue, Oct 11, 2011 at 9:16 AM, Dave Sann <daves...@gmail.com> wrote: > Hi all, > > I have been trying to get the browser repl to work tonight. > I can't get this to work and have tracked the issue down to an apparent > problem with the keyword function. > > I have not seen this behaviour before. I pulled the latest clojurescript > today. > This may be a problem with my setup. Has anyone seen anything like the > following: > > (defn log [x] > (.log js/console x)) > > (def test-map {:peer_uri 1}) > (log test-map) > (log :peer_uri) > ; �'peer_uri > (log (cljs.core.keyword? :peer_uri)) > ; true > (log (cljs.core.keyword "peer_uri")) > ; :'peer_uri > (log (cljs.core.keyword? (keyword "peer_uri"))) > ; false > (log (get test-map :peer_uri "not found")) > ; 1 > (log (get test-map (cljs.core.keyword "peer_uri") "not found")) ; > not found > > effectively (keyword "x") does not return a keyword. which breaks things. > > (I am being explicit with cljs.core.keyword above to ensure that I have not > redefined the function) > > I have checked HTTP meta tags and compiled as both simple and advanced. > > ... > > > After more digging, I think that that this may be due to changes to the str > function: > d3cba99b<https://github.com/clojure/clojurescript/commit/d3cba99b7741f8fc445f21b4cddf0ea4ee96a1cb> > > »<https://github.com/clojure/clojurescript/blame/d3cba99b7741f8fc445f21b4cddf0ea4ee96a1cb/src/cljs/cljs/core.cljs> > swannodette <https://github.com/swannodette> > 2011-10-10 * src/cljs/cljs/core.cljs: CLJS-84: Behavior of (s... > > (from my browser console) > > cljs.core.keyword > function (b, c) { switch(arguments.length) { case 1: return > cljs.core.truth_(cljs.core.keyword_QMARK_.call(null, b)) ? b : > cljs.core.truth_(cljs.core.symbol_QMARK_.call(null, b)) ? > cljs.core.str.call(null, "\ufdd0", "'", cljs.core.subs.call(null, b, 2)) : > cljs.core.truth_("\ufdd0'else") ? cljs.core.str.call(null, "\ufdd0", "'", b) > : null; case 2: return a.call(null, cljs.core.str.call(null, b, "/", c)) } > throw"Invalid arity: " + arguments.length; } > cljs.core.keyword("hello") > ":'hello" > "\ufdd0" > "�" > cljs.core.symbol_QMARK_("hello") > false > cljs.core.str("hello") > "hello" > cljs.core.str("\ufdd0") > ":" > > > Cheers > > Dave > > > > -- > 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 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