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

Reply via email to