diff options
author | Kim F. Storm <[email protected]> | 2006-02-10 00:00:31 +0000 |
---|---|---|
committer | Kim F. Storm <[email protected]> | 2006-02-10 00:00:31 +0000 |
commit | a7f96a358b12d90b44fa11ac65caf24fd164ad6d (patch) | |
tree | 5c8ae432704235cc666fa0bce2c8364d3aae26c4 /src/data.c | |
parent | 49f18bccba0bc666c50057831862d224639deeb2 (diff) |
* data.c (Findirect_function): Add NOERROR arg. All callers changed
to pass Qnil for NOERROR.
* keymap.c (current_minor_maps_error): Remove.
(current_minor_maps): Pass Qt for NOERROR to Findirect_function
instead of using internal_condition_case_1+current_minor_maps_error.
Diffstat (limited to 'src/data.c')
-rw-r--r-- | src/data.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/data.c b/src/data.c index 278105ba99..7919021d06 100644 --- a/src/data.c +++ b/src/data.c @@ -1927,15 +1927,16 @@ indirect_function (object) return hare; } -DEFUN ("indirect-function", Findirect_function, Sindirect_function, 1, 1, 0, +DEFUN ("indirect-function", Findirect_function, Sindirect_function, 1, 2, 0, doc: /* Return the function at the end of OBJECT's function chain. If OBJECT is a symbol, follow all function indirections and return the final function binding. If OBJECT is not a symbol, just return it. -Signal a void-function error if the final symbol is unbound. +If optional arg NOERROR is nil, signal a void-function error if +the final symbol is unbound. Otherwise, just return nil is unbound. Signal a cyclic-function-indirection error if there is a loop in the function chain of symbols. */) - (object) +(object, noerror) register Lisp_Object object; { Lisp_Object result; @@ -1943,7 +1944,9 @@ function chain of symbols. */) result = indirect_function (object); if (EQ (result, Qunbound)) - return Fsignal (Qvoid_function, Fcons (object, Qnil)); + return (NILP (noerror) + ? Fsignal (Qvoid_function, Fcons (object, Qnil)) + : Qnil); return result; } |