(defun NAME (ARG1 ...) [DOCSTRING] EXPR1 ...)
(lambda (ARG1 ...) (EXPR1 ...))
when called as a function. Also, install DOCSTRING as response to
the commands (help NAME)
and (morehelp NAME)
. Note that
DOCSTRING need not contain the command-synopsis, it is generated
automatically. EXPR1 cannot be a string if DOCSTRING
is
omitted; it would be interpreted as the doc-string. The return value of
(defun ...)
is the function name. Functions can be recursive
and self-modifying. It is possible to redefine builtin-functions, in
this case the old definition is still available under the name
-builtin-OLDNAME-
. Argument values may be altered by setq
;
the new binding is discarded after evaluation of the surrounding
defun
-body. The special keywords &optional
and
&rest
have the same meaning as for anonymous lambda-expression,
see there. See (lambda ...)
. See (setq ...)
. See (let ...)
.