Ticket'd http://dev.clojure.org/jira/browse/CLJS-833
2014-08-04 0:57 GMT+02:00 David Nolen <[email protected]>: > Ah hm, yeah I'm surprised this isn't caught by the existing shadowing > and :js-globals logic. Sure open a ticket, patch welcome of course. > > David > > On Sun, Aug 3, 2014 at 6:23 PM, Herwig Hochleitner > <[email protected]> wrote: > > To clarify on David's comment, js/console puts a literal 'console' > > identifier into the generated js. > > > > In your example, js/console is shadowed, because (defn console[] > js/console) > > is emitted as ns.console = (function console(){return console;}); > > > > The discussion to be had here is whether the (internal) name of the > > generated js function should e.g. be mangled like let-binding: > > > > ns.console = (function console_1337(){return console;}); > > > > Ticket? > > > > > > 2014-08-01 15:07 GMT+02:00 David Nolen <[email protected]>: > > > >> js/foo does not resolve to the global namespace. > >> > >> David > >> > >> On Thu, Jul 31, 2014 at 9:42 AM, Sam Ritchie <[email protected]> > wrote: > >> > Hey guys, > >> > > >> > I ran into this last night when trying to port some ancient JS in our > >> > project over to cljs. I was defining an om component called > >> > "users-typeahead", and in the (did-mount ...) implementation calling a > >> > bare > >> > javascript function called js/users_typeahead. At the repl, the latter > >> > worked great; INSIDE the did-mount implementation, js/users_typeahead > >> > resolved to a reference to the enclosing function itself. > >> > > >> > My expectation was that, with Clojurescript's namespacing, > js/func_name > >> > would always resolve to the top-level global namespace. Instead, > >> > > >> > Here's a minimal reproduction: > >> > > >> > (.log js/console "Hi!") > >> > ;; logs "Hi!" > >> > > >> > (defn console [s] (.log js/console s)) > >> > > >> > (console "Hi!") > >> > ;; throws Compilation error: TypeError: undefined is not a function > >> > > >> > What do you think? Expected behavior, or just an edge case to avoid? > >> > > >> > -- > >> > Sam Ritchie (@sritchie) > >> > Paddleguru Co-Founder > >> > 703.863.8561 > >> > www.paddleguru.com > >> > Twitter // Facebook > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups "Clojure" group. > >> > To post to this group, send email to [email protected] > >> > Note that posts from new members are moderated - please be patient > with > >> > your > >> > first post. > >> > To unsubscribe from this group, send email to > >> > [email protected] > >> > 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 [email protected]. > >> > For more options, visit https://groups.google.com/d/optout. > >> > >> -- > >> You received this message because you are subscribed to the Google > >> Groups "Clojure" group. > >> To post to this group, send email to [email protected] > >> Note that posts from new members are moderated - please be patient with > >> your first post. > >> To unsubscribe from this group, send email to > >> [email protected] > >> 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 [email protected]. > >> For more options, visit https://groups.google.com/d/optout. > > > > > > -- > > You received this message because you are subscribed to the Google > > Groups "Clojure" group. > > To post to this group, send email to [email protected] > > Note that posts from new members are moderated - please be patient with > your > > first post. > > To unsubscribe from this group, send email to > > [email protected] > > 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 [email protected]. > > For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to [email protected] > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > [email protected] > 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 [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
