macro returning a nounform = infinite loop?



Ordinary function that returns a nounform--OK:

(%i13) f(x) := funmake('f,[x])$

(%i14) f(1);
(%o14) f(1)

Macro that returns a nounform---infinite loop:

(%i15) g(x) ::= funmake('g,[x])$

(%i16) g(1);
Maxima encountered a Lisp error:
 Error in PROGN [or a callee]: Bind stack overflow.

What's the story?

--bw