Mercurial > emacs
comparison src/data.c @ 68758:13c1b7c5f555
* 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.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Fri, 10 Feb 2006 00:00:31 +0000 |
parents | 3bd95f4f2941 |
children | eb6c6d7a4c7f |
comparison
equal
deleted
inserted
replaced
68757:3c76b1d6eff0 | 68758:13c1b7c5f555 |
---|---|
1925 } | 1925 } |
1926 | 1926 |
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; |
1942 | 1943 |
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 |
1950 /* Extract and set vector and string elements */ | 1953 /* Extract and set vector and string elements */ |
1951 | 1954 |