# HG changeset patch # User Kim F. Storm # Date 1139530158 0 # Node ID 35eb90d9d028047d66b9009ce9fbfaa631b8fb05 # Parent 1d4bcec8c4c4a6c3017003e46c77f0cdfedc6eef (Function Indirection): Add NOERROR to indirect-function. diff -r 1d4bcec8c4c4 -r 35eb90d9d028 lispref/eval.texi --- a/lispref/eval.texi Fri Feb 10 00:08:08 2006 +0000 +++ b/lispref/eval.texi Fri Feb 10 00:09:18 2006 +0000 @@ -314,16 +314,20 @@ perform symbol function indirection explicitly. @c Emacs 19 feature -@defun indirect-function function +@defun indirect-function function &optional noerror @anchor{Definition of indirect-function} This function returns the meaning of @var{function} as a function. If @var{function} is a symbol, then it finds @var{function}'s function definition and starts over with that value. If @var{function} is not a symbol, then it returns @var{function} itself. -This function signals a @code{void-function} error if the final -symbol is unbound and a @code{cyclic-function-indirection} error if -there is a loop in the chain of symbols. +This function signals a @code{void-function} error if the final symbol +is unbound and optional argument @var{noerror} is @code{nil} or +omitted. Otherwise, if @var{noerror} is non-@code{nil}, it returns +@code{nil} if the final symbol is unbound. + +It signals a @code{cyclic-function-indirection} error if there is a +loop in the chain of symbols. Here is how you could define @code{indirect-function} in Lisp: