diff options
| author | Kim F. Storm | 2006-02-10 00:00:31 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2006-02-10 00:00:31 +0000 |
| commit | a7f96a358b12d90b44fa11ac65caf24fd164ad6d (patch) | |
| tree | 5c8ae432704235cc666fa0bce2c8364d3aae26c4 /src/data.c | |
| parent | 49f18bccba0bc666c50057831862d224639deeb2 (diff) | |
| download | emacs-a7f96a358b12d90b44fa11ac65caf24fd164ad6d.tar.gz emacs-a7f96a358b12d90b44fa11ac65caf24fd164ad6d.zip | |
* 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 278105ba99b..7919021d061 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -1927,15 +1927,16 @@ indirect_function (object) | |||
| 1927 | return hare; | 1927 | return hare; |
| 1928 | } | 1928 | } |
| 1929 | 1929 | ||
| 1930 | DEFUN ("indirect-function", Findirect_function, Sindirect_function, 1, 1, 0, | 1930 | DEFUN ("indirect-function", Findirect_function, Sindirect_function, 1, 2, 0, |
| 1931 | doc: /* Return the function at the end of OBJECT's function chain. | 1931 | doc: /* Return the function at the end of OBJECT's function chain. |
| 1932 | If OBJECT is a symbol, follow all function indirections and return the final | 1932 | If OBJECT is a symbol, follow all function indirections and return the final |
| 1933 | function binding. | 1933 | function binding. |
| 1934 | If OBJECT is not a symbol, just return it. | 1934 | If OBJECT is not a symbol, just return it. |
| 1935 | Signal a void-function error if the final symbol is unbound. | 1935 | If optional arg NOERROR is nil, signal a void-function error if |
| 1936 | the final symbol is unbound. Otherwise, just return nil is unbound. | ||
| 1936 | Signal a cyclic-function-indirection error if there is a loop in the | 1937 | Signal a cyclic-function-indirection error if there is a loop in the |
| 1937 | function chain of symbols. */) | 1938 | function chain of symbols. */) |
| 1938 | (object) | 1939 | (object, noerror) |
| 1939 | register Lisp_Object object; | 1940 | register Lisp_Object object; |
| 1940 | { | 1941 | { |
| 1941 | Lisp_Object result; | 1942 | Lisp_Object result; |
| @@ -1943,7 +1944,9 @@ function chain of symbols. */) | |||
| 1943 | result = indirect_function (object); | 1944 | result = indirect_function (object); |
| 1944 | 1945 | ||
| 1945 | if (EQ (result, Qunbound)) | 1946 | if (EQ (result, Qunbound)) |
| 1946 | return Fsignal (Qvoid_function, Fcons (object, Qnil)); | 1947 | return (NILP (noerror) |
| 1948 | ? Fsignal (Qvoid_function, Fcons (object, Qnil)) | ||
| 1949 | : Qnil); | ||
| 1947 | return result; | 1950 | return result; |
| 1948 | } | 1951 | } |
| 1949 | 1952 | ||