On Fri, 15 Oct 2004, Peter Reilly <[EMAIL PROTECTED]> wrote:

> Since we are really only worried about the macrodef usecase, we
> could initially just deal with this using the syntax:
> 
> <macrodef name="t2">
>    <attribute name="file"/>
>    <localproperty name="dir"/>
>    <sequential>
>         <dirname property="dir" file="@{file}"/>
>         <mkdir dir="${dir}"/>
>         <touch file="@{file}"/>
>    </sequential>
> </macrodef>
> 
> I.e have a local nested element for <macrodef> - this syntax has
> of course been discussed previously.

Hmm, OK.

> The local properties should I think be in thread-local storage to
> avoid conflicts between multiple threads, so I think that
> PropertyHelper needs to be modified to do this.

Yes, as it would need for my (not-coded) <let> container.  It
basically uses the same approach.

>>>2) Shadowing of properties
>>
>>Can you expand on this please?  Whyt kind of macros would require
>>shadowing in order to be writable?
>>
> There are two reasons for this
> 
> 1) Macrodefs are normally hidden - say in imported files or in an
> antlib, so one may not know what names they use for local
> properties.

Nor the other way around.  You've convinced me, we need shadowing.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to