core.async has (and had) some bugs around dot forms. File an issue with
core.async.

David


On Sun, Jan 12, 2014 at 6:10 AM, Paul Butcher <[email protected]> wrote:

> Update: this definitely seems to be something to do with being within the
> go-loop. Hoisting it out into a separate function also fixes the problem:
>
> (defn setx [elem x]
>   (set! (.. elem -cx -baseVal -value) x))
>
> (let [circle (dom/getElement "circle")]
>   (go-loop [x 20]
>     (<! (timeout 10))
>     (setx circle x)
>     (recur (inc x))))
>
>
> --
> paul.butcher->msgCount++
>
> Silverstone, Brands Hatch, Donington Park...
> Who says I have a one track mind?
>
> http://www.paulbutcher.com/
> LinkedIn: http://www.linkedin.com/in/paulbutcher
> Skype: paulrabutcher
>
>
>
>
> On 12 Jan 2014, at 10:25, Paul Butcher <[email protected]> wrote:
>
> I'm still finding my feet with ClojureScript, so please forgive any stupid
> mistakes. I've just hit an oddity when using set! with ..
>
> I have a page with a very simple SVG on it:
>
> <svg width="500" height="100">
>   <circle id="circle" cx="20" cy="20" r="10" style="stroke: none; fill:
> #ff0000;"/>
> </svg>
>
>
> And a very simple little piece of ClojureScript that animates it:
>
> (let [circle (dom/getElement "circle")]
>   (go-loop [x 20]
>     (<! (timeout 10))
>     (set! (.-value (.-baseVal (.-cx circle))) x)
>     (recur (inc x))))
>
>
> This all works fine. If, however, I change the set! to:
>
> (set! (.. circle -cx -baseVal -value) x)
>
>
> I get the error:
>
> Wrong number of args (3) passed to: core$-DOT
>
>
> But the same structure works fine outside of the go-loop. So this, for
> example, compiles and runs exactly as I'd expect:
>
> (set! (.. (dom/getElement "circle") -cx -baseVal -value) 200)
>
>
> I'd be very grateful for any pointers as to what's up.
>
> Thanks,
>
> --
> paul.butcher->msgCount++
>
> Silverstone, Brands Hatch, Donington Park...
> Who says I have a one track mind?
>
> http://www.paulbutcher.com/
> LinkedIn: http://www.linkedin.com/in/paulbutcher
> Skype: paulrabutcher
>
>
>
>
>
>  --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to