On Fri, 31 Oct 2003, peter reilly <[EMAIL PROTECTED]> wrote:

> On Friday 31 October 2003 08:49, you wrote:

"you" being Antoine 8-)

>> I do not understand fully what you mean by static scoping. Can you
>> explain this dilemma static scoping/dynamic extend on the mailing
>> list ?

Take Java which uses static extent (like most languages we are used of)

int i = 1;
void method() {
    System.err.println(i);
}

void method2() {
    int i = 2;
    method();
}

If you run method2(), method() will not see the local value of i which
"shadows" the global i.

Dynamic extent on the other side would make method() see the local
value of i.  Emacs Lisp does so, as do (only some?) other Lisp
dialects.

Moving to Ant and <local>, the question is whether builds invoked via
<ant> should see the local definition or the global definition of a
property.  In particular, whether the property was set in the child
build when there is no global property at all.  Peter, Jose Alberto
and I came to the conclusion that <ant> and <macrodef> should be
treated the same way.

Both static and dynamic extent have their pros and cons - and after
thinking it over again I'm more leaning to the dynamic side right now,
but can certainly make up my mind once again 8-)

>> > 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.

Uhm, not exactly.

I was under the impression that the discussion led to an end where
<macrodef> wasn't affected - no matter whether we introduced <local>
or not.  In this case I'd say that <local> should not hold up the
release.

There are issues with <macrodef> as it is as well as with the usage of
the default namespace on nested elements.  I think we better get both
things right before we release 1.6, no matter how long it takes.

Stefan

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

Reply via email to