Yeah, sorry.  I forget about that, since i've been avoiding macros for
some time and never actually bothered with this property:

velocimacro.context.localscope = true

On Thu, Feb 21, 2008 at 9:59 AM, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote:
> Wait - that's not true.... You certainly can do scoped velocimacros...
>
>  geir
>
>
>
>  On Feb 21, 2008, at 12:57 PM, Nathan Bubna wrote:
>
>  > On Thu, Feb 21, 2008 at 6:36 AM, Christopher Schultz
>  > <[EMAIL PROTECTED]> wrote:
>  >> Nathan,
>  >>
>  >>
>  >> Nathan Bubna wrote:
>  >>> I'm pretty sure #local is still just in Geir's whiteboard
>  >>> section.  No
>  >>> one has ever gotten it promoted out of there.  I've never been
>  >>> opposed
>  >>> to it, but i've also never been interested in putting the work
>  >>> needed
>  >>> into it (tests, docs, etc).
>  >>
>  >> I have to admit that when I started really writing macros (other than
>  >> super simple ones), I was disappointed to learn that there was no
>  >> "stack"... that is, I couldn't implement certain things properly
>  >> using
>  >> the macro facility because recursive calls would overwrite variables
>  >> from what I would have considered "outer" scopes.
>  >>
>  >> If anyone is contemplating a "Velocity 2.x", I would seriously
>  >> recommend
>  >> that macros and other things (like #parse, #evaluate, and similar
>  >> things) run in their own, local and inherited contexts. This gives
>  >> much
>  >> greater freedom to the developer, who doesn't have to worry about
>  >> "temporary" variables within macros, etc. clobbering variables set in
>  >> the caller's scope.
>  >>
>  >> It would be best if this were simply a language feature, instead of a
>  >> hack provided through another directive (though it would have to be
>  >> hacked in this way for Velocity 1.x, since some folks may actually
>  >> rely
>  >> on this inconvenient setup.
>  >
>  > inconvenience is sometimes a matter of perspective, and you might soon
>  > find people providing special #setglobal hacks for when they do want
>  > to clobber a variable in the caller's scope.   personally, i've always
>  > been able to see this both ways and never had much trouble adjusting
>  > to the lack of scoping.  when my macros/layouts/parses ever get
>  > complicated enough that i can't track all the variables, i just start
>  > namespacing ones i want to keep 'local'.
>  >
>  > anyway, being able to see both sides and easily adjust either way, you
>  > probably won't ever find me motivated to work on this or object to
>  > anyone else working to change this in a theoretical 2.x version.
>  > namespaces or scoping, i'm good either way. :)
>  >
>  >> -chris
>  >>
>  >>
>  >
>
>
> > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: [EMAIL PROTECTED]
>  > For additional commands, e-mail: [EMAIL PROTECTED]
>  >
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  For additional commands, e-mail: [EMAIL PROTECTED]
>
>

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

Reply via email to