Here's the issue for tracking purposes http://dev.clojure.org/jira/browse/CLJS-1001
David On Tue, Feb 3, 2015 at 2:10 PM, Andrew S <[email protected]> wrote: > Yes. 2760 issue remains. > > On Tue, Feb 3, 2015 at 8:02 PM, David Nolen <[email protected]> > wrote: > > Have you tested against 0.0-2760? > > > > David > > > > On Tue, Feb 3, 2015 at 1:58 PM, Andrew S <[email protected]> > > wrote: > >> > >> Ok, I managed to create an easy reproduction of this. The problem goes > >> away when I roll back my version of clojurescript. > >> > >> I have a simple lein template I use for various things. Its > >> dependencies are listed here: > >> > >> > >> > https://github.com/hellofunk/hellofunk-lein-template/blob/master/resources/leiningen/new/hellofunk/project.clj > >> > >> If I do a "lein cljsbuild once" on a project generated by this > >> template, without adding any new code, I get a line like this in my JS > >> output: > >> > >> > >> > cljs.core.Keyword(null,"file","file",-1269645878),"/path/to/project/core.cljs"], > >> null))); > >> > >> If I change the dependency to this: > >> > >> [org.clojure/clojurescript "0.0-2311"] > >> > >> The problem goes away! > >> > >> Hope this will help point in the right direction, if anyone has some > >> advice. > >> > >> On Tue, Feb 3, 2015 at 7:26 PM, Andrew S <[email protected] > > > >> wrote: > >> > Thanks, this helps, I'll try to track it down. I've made some slight > >> > progress in that a closer inspection of the grep results shows that > >> > the only JS files where these paths are showing up are files in which > >> > I define Om components, all my other JS files unrelated to Om do not > >> > show these paths. I'll see what I can find further. > >> > > >> > On Tue, Feb 3, 2015 at 7:15 PM, Francis Avila <[email protected]> > >> > wrote: > >> >> Andrew, the metadata you are seeing is added by the CLJS compiler to > >> >> the Clojure objects it creates as it is reading CLJS code. You did > not add > >> >> it explicitly in your code anywhere, and we're not saying you did. > >> >> > >> >> The problem here is that the metadata did not *stay* in Clojure but > got > >> >> emitted into the compiled js code. > >> >> > >> >> So what likely happened is that some *Clojure* code (e.g. cljs a > macro) > >> >> emitted an object constructed by the Compiler, but the metadata on > that > >> >> object was not stripped out before being emitted as js code. > >> >> > >> >> We need a minimum reproducible case. Here is a possibility to > explore: > >> >> > >> >> ;;CLJ code > >> >> (defmacro macro-identity [x] x) > >> >> > >> >> ;; CLJS code > >> >> (def do-i-have-extra-metadata? (macro-identity {:foo :bar})) > >> >> > >> >> > >> >> Then see if the compiled output of do-i-have-extra-metadata? has > extra > >> >> metadata. > >> >> > >> >> If that does not seem to work, look for places in your codebase where > >> >> some object is crossing from clojurescript->clojure->clojurescript. > Start > >> >> with Clojure macros. > >> >> > >> >> > >> >> > >> >> On Tuesday, February 3, 2015 at 12:06:11 PM UTC-6, David Nolen wrote: > >> >>> You have as much of an idea why this happening as I do. > >> >>> > >> >>> > >> >>> Which is zero :) > >> >>> > >> >>> > >> >>> Without a minimal reproducer there is nothing for anyone to do. > >> >>> > >> >>> > >> >>> You need to sort yourself what line of your ClojureScript or your > >> >>> ClojureScript dependencies is generating these maps. > >> >>> > >> >>> > >> >>> Then maybe someone can offer a solution. > >> >>> > >> >>> > >> >>> David > >> >>> > >> >>> > >> >>> On Tue, Feb 3, 2015 at 12:50 PM, Andrew S > >> >>> <[email protected]> wrote: > >> >>> Ok, I'm sorry if I'm missing the train of thought on this, but how > >> >>> > >> >>> does any ordinary clojure(script) map lead to what you call metadata > >> >>> > >> >>> leakage that contains paths to files? Of course I use maps all over > >> >>> > >> >>> the place (doesn't everyone?), but I don't see how this connects to > >> >>> > >> >>> the problem I'm having. > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> On Tue, Feb 3, 2015 at 6:40 PM, David Nolen <[email protected]> > >> >>> wrote: > >> >>> > >> >>> > Yes {:foo :bar} > >> >>> > >> >>> > > >> >>> > >> >>> > David > >> >>> > >> >>> > > >> >>> > >> >>> > On Tue, Feb 3, 2015 at 12:35 PM, Andrew S > >> >>> > <[email protected]> > >> >>> > >> >>> > wrote: > >> >>> > >> >>> >> > >> >>> > >> >>> >> Ok, can you clarify the type of map literal that would do this? I > >> >>> >> have > >> >>> > >> >>> >> not written any of my own macros on this app, but perhaps a > library > >> >>> >> I > >> >>> > >> >>> >> depend on has them. By map literal, do you just mean a {:foo > :bar} > >> >>> > >> >>> >> type of syntax, or something else? I also have not added any > >> >>> >> metadata > >> >>> > >> >>> >> myself to anything in the app using the caret or with-meta > syntax. > >> >>> > >> >>> >> > >> >>> > >> >>> >> On Tue, Feb 3, 2015 at 6:29 PM, David Nolen <[email protected] > > > >> >>> > >> >>> >> wrote: > >> >>> > >> >>> >> > The problem is metadata leakage. This has nothing to do with > >> >>> >> > specifying > >> >>> > >> >>> >> > paths in your code. Somewhere you are writing map literals > >> >>> >> > (perhaps in a > >> >>> > >> >>> >> > macro?) and compiler metadata is leaking. > >> >>> > >> >>> >> > > >> >>> > >> >>> >> > David > >> >>> > >> >>> >> > > >> >>> > >> >>> >> > On Tue, Feb 3, 2015 at 11:38 AM, Andrew S > >> >>> > >> >>> >> > <[email protected]> > >> >>> > >> >>> >> > wrote: > >> >>> > >> >>> >> >> > >> >>> > >> >>> >> >> I can try to produce an example if I know where to start. > There > >> >>> >> >> is > >> >>> > >> >>> >> >> nowhere in my app that I am specifying a path to a file, so > I'm > >> >>> >> >> not > >> >>> > >> >>> >> >> sure where this is happening. > >> >>> > >> >>> >> >> > >> >>> > >> >>> >> >> On Tue, Feb 3, 2015 at 5:37 PM, David Nolen > >> >>> >> >> <[email protected]> > >> >>> > >> >>> >> >> wrote: > >> >>> > >> >>> >> >> > Looks like metadata leakage. Need a minimal example though. > >> >>> > >> >>> >> >> > > >> >>> > >> >>> >> >> > Thanks, > >> >>> > >> >>> >> >> > David > >> >>> > >> >>> >> >> > > >> >>> > >> >>> >> >> > On Tue, Feb 3, 2015 at 10:57 AM, Andrew S > >> >>> > >> >>> >> >> > <[email protected]> > >> >>> > >> >>> >> >> > wrote: > >> >>> > >> >>> >> >> >> > >> >>> > >> >>> >> >> >> Grepping over the files created by a :none optimization > >> >>> >> >> >> reveals the > >> >>> > >> >>> >> >> >> path in places like this: > >> >>> > >> >>> >> >> >> > >> >>> > >> >>> >> >> >> cljs.core.PersistentArrayMap(null, 5, [new > >> >>> > >> >>> >> >> >> > >> >>> >> >> >> > cljs.core.Keyword(null,"end-column","end-column",1425389514),55,new > >> >>> > >> >>> >> >> >> > >> >>> >> >> >> > cljs.core.Keyword(null,"end-line","end-line",1837326455),101,new > >> >>> > >> >>> >> >> >> cljs.core.Keyword(null,"column","column",2078222095),3,new > >> >>> > >> >>> >> >> >> cljs.core.Keyword(null,"line","line",212345235),96,new > >> >>> > >> >>> >> >> >> > >> >>> > >> >>> >> >> >> > >> >>> > >> >>> >> >> >> > >> >>> > >> >>> >> >> >> > >> >>> >> >> >> > cljs.core.Keyword(null,"file","file",-1269645878),"/Users/andrew/path/to/file.cljs"], > >> >>> > >> >>> >> >> >> null))); > >> >>> > >> >>> >> >> >> > >> >>> > >> >>> >> >> >> Does this shed any light on the cause of this? I have no > idea > >> >>> >> >> >> what > >> >>> > >> >>> >> >> >> this cljs.core.Keyword is doing with a file path. > >> >>> > >> >>> >> >> >> > >> >>> > >> >>> >> >> >> On Tue, Feb 3, 2015 at 4:30 PM, Mike Fikes > >> >>> >> >> >> <[email protected]> > >> >>> > >> >>> >> >> >> wrote: > >> >>> > >> >>> >> >> >> > Try the :pseudo-names compiler option to see what the > >> >>> >> >> >> > :advanced > >> >>> > >> >>> >> >> >> > code > >> >>> > >> >>> >> >> >> > is > >> >>> > >> >>> >> >> >> > referring to > >> >>> > >> >>> >> >> >> > > >> >>> > >> >>> >> >> >> > > >> >>> > >> >>> >> >> >> > > >> >>> >> >> >> > ( > https://github.com/clojure/clojurescript/wiki/Compiler-Options#pseudo-names > ). > >> >>> > >> >>> >> >> >> > > >> >>> > >> >>> >> >> >> > -- > >> >>> > >> >>> >> >> >> > Note that posts from new members are moderated - please > be > >> >>> >> >> >> > patient > >> >>> > >> >>> >> >> >> > with > >> >>> > >> >>> >> >> >> > your first post. > >> >>> > >> >>> >> >> >> > --- > >> >>> > >> >>> >> >> >> > You received this message because you are subscribed to a > >> >>> >> >> >> > topic in > >> >>> > >> >>> >> >> >> > the > >> >>> > >> >>> >> >> >> > Google Groups "ClojureScript" group. > >> >>> > >> >>> >> >> >> > To unsubscribe from this topic, visit > >> >>> > >> >>> >> >> >> > > >> >>> > >> >>> >> >> >> > > >> >>> > >> >>> >> >> >> > > >> >>> >> >> >> > > https://groups.google.com/d/topic/clojurescript/6qSmNpSQeI4/unsubscribe. > >> >>> > >> >>> >> >> >> > To unsubscribe from this group and all its topics, 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. > >> >>> > >> >>> >> >> >> > >> >>> > >> >>> >> >> >> > >> >>> > >> >>> >> >> >> > >> >>> > >> >>> >> >> >> -- > >> >>> > >> >>> >> >> >> hellofunk > >> >>> > >> >>> >> >> >> > >> >>> > >> >>> >> >> >> -- > >> >>> > >> >>> >> >> >> 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 a > >> >>> >> >> > topic in > >> >>> > >> >>> >> >> > the > >> >>> > >> >>> >> >> > Google Groups "ClojureScript" group. > >> >>> > >> >>> >> >> > To unsubscribe from this topic, visit > >> >>> > >> >>> >> >> > > >> >>> > >> >>> >> >> > > >> >>> >> >> > > https://groups.google.com/d/topic/clojurescript/6qSmNpSQeI4/unsubscribe. > >> >>> > >> >>> >> >> > To unsubscribe from this group and all its topics, 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. > >> >>> > >> >>> >> >> > >> >>> > >> >>> >> >> > >> >>> > >> >>> >> >> > >> >>> > >> >>> >> >> -- > >> >>> > >> >>> >> >> hellofunk > >> >>> > >> >>> >> >> > >> >>> > >> >>> >> >> -- > >> >>> > >> >>> >> >> 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 a topic > >> >>> >> > in the > >> >>> > >> >>> >> > Google Groups "ClojureScript" group. > >> >>> > >> >>> >> > To unsubscribe from this topic, visit > >> >>> > >> >>> >> > > >> >>> >> > > https://groups.google.com/d/topic/clojurescript/6qSmNpSQeI4/unsubscribe. > >> >>> > >> >>> >> > To unsubscribe from this group and all its topics, 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. > >> >>> > >> >>> >> > >> >>> > >> >>> >> > >> >>> > >> >>> >> > >> >>> > >> >>> >> -- > >> >>> > >> >>> >> hellofunk > >> >>> > >> >>> >> > >> >>> > >> >>> >> -- > >> >>> > >> >>> >> 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 a topic in > >> >>> > the > >> >>> > >> >>> > Google Groups "ClojureScript" group. > >> >>> > >> >>> > To unsubscribe from this topic, visit > >> >>> > >> >>> > > >> >>> > > https://groups.google.com/d/topic/clojurescript/6qSmNpSQeI4/unsubscribe. > >> >>> > >> >>> > To unsubscribe from this group and all its topics, 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. > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> -- > >> >>> > >> >>> hellofunk > >> >>> > >> >>> > >> >>> > >> >>> -- > >> >>> > >> >>> 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 a topic in > the > >> >> Google Groups "ClojureScript" group. > >> >> To unsubscribe from this topic, visit > >> >> > https://groups.google.com/d/topic/clojurescript/6qSmNpSQeI4/unsubscribe. > >> >> To unsubscribe from this group and all its topics, 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. > >> > > >> > > >> > > >> > -- > >> > hellofunk > >> > >> > >> > >> -- > >> hellofunk > >> > >> -- > >> 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 a topic in the > > Google Groups "ClojureScript" group. > > To unsubscribe from this topic, visit > > https://groups.google.com/d/topic/clojurescript/6qSmNpSQeI4/unsubscribe. > > To unsubscribe from this group and all its topics, 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. > > > > -- > hellofunk > > -- > 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.
