> Harald,
>
> The observed results are consistent with the theory stated by
> the current version of the Maxima documentation,
>
> `::=3D' defines a function (called a "macro" for historical reasons)
> which quotes its arguments, and the expression which it returns
> (called the "macro expansion") is evaluated in the context from
> which the macro was called. A macro function is otherwise
> the same as an ordinary function.
>
> (The text shown at http://maxima.sourceforge.net/docs/manual/en/maxima_5.ht=
> ml
> is up to date, or close to it.)
>
> > (%i4) mytest1(foo);
> > (%o4) [[1, 2, 3], a, b, c]
>
> Within mytest1, x is bound to 'foo.
> When mytest1 (foo) is evaluated, cons (foo, [a, b, c]) is
> evaluated, yielding [foo, a, b, c].
Ah! Ok, this is the answer to my question, I think:
> That is then evaluated in the context from which mytest1
> was called, yielding [[1, 2, 3], a, b, c].
I missed that after the macro expansion the result is evaluated.
I guess, i expected to get [foo, a, b, c]
> HTH
Yes, definitely.
Harald