jacobian not listed



dear group,

in defining a selfmade jacobian I get an 'you are redefining' message from MAXIMA.
So I discovered that there is already a predefined jacobian function (as there is a
predefined hessian, listed in the help file). But the jacobian was not mentioned in the
help file, so I was a bit surprised. AFAIK there is also no predefined gradient or
directional derivative function, so I defined those concepts for myself:

/* gradient as liste="vektor" */
f: x^2+x*y;
grad(f,X) := makelist(diff (f, X[i]),i,1,length(X));
/* or: gradient via jacobian as matrix */
grad1(f,X) := jacobian([f],X);

/* directional derivative along e at position a */
dirDer(f,x,a,e):=limit(grad(f,x),x,a) . e/sqrt(e . e);
dirDer(f,[x,y],[1,2],[1,0]);

Here are my questions:
Q1: where (package?) to find the source code of 'jacobian' and 'hessian'?
Q2: any hints or recommendations to the definitions above?
Q3: is there a possibility to get MAXIMA show the source code via a question at the 
    command line analog to maple's 'verbose'?

Any hints are very welcome.

HTH Wolfgang