bug? unexpected variable binding



>>>>> "Volker" == van Nek <van.Nek at gmx.net> writes:

    Volker> Hello,
    Volker> there is an unwanted side effect:
    Volker> ( something like variable capture )

    Volker> (%i1) foo(a):= bar(a)$
    Volker> (%i2) bar(x):= a$
    Volker> (%i3) foo(1);
    Volker> (%o3) 				       1
    Volker> (%i4) bar(1);
    Volker> (%o4) 				       a
    Volker> (%i5) a:2$
    Volker> (%i6) foo(1);
    Volker> (%o6) 				       1
    Volker> (%i7) bar(1);
    Volker> (%o7) 				       2

    Volker> This should not be intended. A bug?

Why is this wrong?  You set a to 2, so shouldn't bar(1) return a,
which is 2?

Ray