diff options
| author | Miles Bader | 2006-02-11 00:11:19 +0000 |
|---|---|---|
| committer | Miles Bader | 2006-02-11 00:11:19 +0000 |
| commit | 0b125475295ac24db12b28e67d349a0ec0020bd3 (patch) | |
| tree | 100578c3b6eb01151eb5c51f0bbe11ca941bd0d5 /src/data.c | |
| parent | 380874900ca183ec2fdce91949d841328852d7a8 (diff) | |
| parent | 9d64cd1339707277e541b6c54f847240464f65ec (diff) | |
| download | emacs-0b125475295ac24db12b28e67d349a0ec0020bd3.tar.gz emacs-0b125475295ac24db12b28e67d349a0ec0020bd3.zip | |
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-14
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 58-65)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 22-28)
- Update from CVS
- Merge from emacs--devo--0
- Update from CVS: lisp/gnus.el: Remove bogus comment.
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/data.c b/src/data.c index fbfbb141d48..a4d865f681e 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -1927,23 +1927,26 @@ 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 not a symbol, just return it. Otherwise, follow all |
| 1933 | function binding. | 1933 | function indirections to find the final function binding and return it. |
| 1934 | If OBJECT is not a symbol, just return it. | 1934 | If the final symbol in the chain is unbound, signal a void-function error. |
| 1935 | Signal a void-function error if the final symbol is unbound. | 1935 | Optional arg NOERROR non-nil means to return nil instead of signalling. |
| 1936 | Signal a cyclic-function-indirection error if there is a loop in the | 1936 | Signal a cyclic-function-indirection error if there is a loop in the |
| 1937 | function chain of symbols. */) | 1937 | function chain of symbols. */) |
| 1938 | (object) | 1938 | (object, noerror) |
| 1939 | register Lisp_Object object; | 1939 | register Lisp_Object object; |
| 1940 | Lisp_Object noerror; | ||
| 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 | ||