strange behaviour in function definition



This happens with cvs Maxima (about one or two months old), both with 
clisp and sbcl:

I want to define function 'gradient'. See space between 'grad' and 
'ient' in output %o3 and the wrong result in %o4.


(%i1) load(vect)$
(%i2) ev(express(grad(x+y+z)),diff);
(%o2)                              [1, 1, 1]
(%i3) gradient(p):=ev(express(grad(p)),diff);
(%o3)              grad ient(p) := ev(express(grad p), diff)
(%i4) gradient(x+y+z);
(%o4)                           grad [1, 1, 1]


This problem is new, in older versions this definition worked fine.

-- 
Mario Rodriguez Riotorto
http://www.telefonica.net/web2/biomates