On Friday 31 October 2003 08:49, you wrote: > Hi Peter, > > I have taken the time to read your email at work this morning. > > I do not understand fully what you mean by static scoping. Can you explain > this dilemma static scoping/dynamic extend on the mailing list ?
Static scoping of local properties mean that the local properties are not seen by macrodefs or antcalls outside the scope. For example: <target name="macrodef-static-scope"> <macrodef name="inner"> <sequential> <echo>prop='${prop}'</echo> </sequential> </macrodef> <property name="prop" value="a global property"/> <local name="prop" value="a local property"/> <inner/> </target> would generate macrodef-static-scope: [echo] prop='a global property' rather than: macrodef-static-scope: [echo] prop='a local property' and <target name="macrodef-static-scope-2"> <macrodef name="inner"> <sequential> <echo>prop='${prop}'</echo> </sequential> </macrodef> <macrodef name="outer"> <attribute name="prop"/> <sequential> <inner/> </sequential> </macrodef> <property name="prop" value="a global property"/> <outer prop="a macrodef attribute"/> </target> would generate macrodef-static-scope-2: [echo] prop='a global property' rather than macrodef-static-scope-2: [echo] prop='a macrodef attribute' > > Can you particularly explain why you now prefer static scoping ? The problem to avoid is property hiding. > > I would like to switch back to the development list for all these issues > too, so you can answer me there. Ok - Sorry I should sent them there in the first place. Cheers, Peter > > Cheers, > > Antoine > > You wrote : > ---------- > > I am flipping between dynamic extend and static scoping. > Currently, I think static scoping perferrable... due > to variable hiding issues. > > One issue however is the <element/> element (cut down > from a build script I use at work). > > <macrodef name="inner"> > <element name="embedded"/> > <sequential> > <embedded/> > </sequential> > </macrodef> > > <macrodef name="outer"> > <attribute name="file"/> > <sequential> > <inner> > <embedded> > <echo>file="${file}"</echo> > </embedded> > </inner> > </sequential> > </macrodef> > > the <outer/> will call <inner/> with the emebedded > set to the echo file=${file}". However, since file is a attribute > of <outer> and not <inner>, with static scopping, inner will not > see the file attribute. I solved this problem by expanding properties > on the <element/>s by name. > > > Maybe people (including me) are more concerned with the possible delay in > > releasing ant 1.6 than with the matter itself. Stefan for instance sent > > an email last week where he wrote he was concerned about release date. > > I can understand the concern. > For new features it does take time to build a consensus (sometimes > forever!). > > > If you think that we are only going to be delayed by around 2 weeks with > > this <local/> issue, them I am +1 for continuing. > > This should be sorted in that timeframe. I will get another patch > together tomorrow that addresses the concerns and either go > with this for 1.6 or wait for 1.7. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]