aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
authorMiles Bader2006-02-11 00:11:19 +0000
committerMiles Bader2006-02-11 00:11:19 +0000
commit0b125475295ac24db12b28e67d349a0ec0020bd3 (patch)
tree100578c3b6eb01151eb5c51f0bbe11ca941bd0d5 /src/data.c
parent380874900ca183ec2fdce91949d841328852d7a8 (diff)
parent9d64cd1339707277e541b6c54f847240464f65ec (diff)
downloademacs-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.c17
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
1930DEFUN ("indirect-function", Findirect_function, Sindirect_function, 1, 1, 0, 1930DEFUN ("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.
1932If OBJECT is a symbol, follow all function indirections and return the final 1932If OBJECT is not a symbol, just return it. Otherwise, follow all
1933function binding. 1933function indirections to find the final function binding and return it.
1934If OBJECT is not a symbol, just return it. 1934If the final symbol in the chain is unbound, signal a void-function error.
1935Signal a void-function error if the final symbol is unbound. 1935Optional arg NOERROR non-nil means to return nil instead of signalling.
1936Signal a cyclic-function-indirection error if there is a loop in the 1936Signal a cyclic-function-indirection error if there is a loop in the
1937function chain of symbols. */) 1937function 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