Mercurial > emacs
changeset 68761:35eb90d9d028
(Function Indirection): Add NOERROR to indirect-function.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Fri, 10 Feb 2006 00:09:18 +0000 |
parents | 1d4bcec8c4c4 |
children | 970bf6e6463b |
files | lispref/eval.texi |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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: