I hate when I reply to my own messages, but I think some additional remarks are granted here.
> From: Jose Alberto Fernandez > > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > > > > > > >Havent got an answer to that proposal: > > > > <local prefix="tmp"/> > > > > <loadproperties prefix="tmp"/> > > > > > > I do not see how it would be useful > > > > You could use all other tasks as they are. Many tasks store > > their result in properties. Some (like loadproperties) in > > multiple props. > > > > > > > or how to implement it. :-) > > > > - Register the "tmp" as temporary prefix on Project > > - setNewProperty() (and the other *Propert* methods) check against > > the list of temporary props and allow overriding. > > - Project.deleteProperties(String prefix) would unset all properties > > with the registered prefix and deregister that. > > > > Of course, in my proposal you would just do: > > <macrodef...> > <let name="temp" /> > <sequential> > > <loadproperties prefix="$(temp)" .../> > .... > </sequential/> > </macrodef> > > :-) > > No need to modify anything, I think. > This is another example where a the names created by <let/> do not necessarily represent the name of a property but something different, in this case a prefix used by multiple properties. One still could conceived an automatic cleaning mechanism, but I am not sure you can enforce it, unless you know what the name is used for. You could say something like: <macrodef...> <let name="temp"/> <onExit clean="property" name="$(temp)"/> <onExit clean="property" prefix="$(temp)"/> <onExit clean="reference" name="$(temp)"/> <onExit clean="macro" name="$(temp)"/> <sequential ..../> </macrodef> Or whatever other name spaces we have. Now this all can be done as the need arrive. Anywhere where we can define something with a name, a recursive macro may want to create new versions of it. And I have used such things on scripts, for example. So it is not just pie in the sky. :-) Jose Alberto --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]