comparison src/data.c @ 83468:b98066f4aa10

Merged from emacs@sv.gnu.org Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-49 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-50 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-51 Make constrain-to-field notice overlays * emacs@sv.gnu.org/emacs--devo--0--patch-52 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-53 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-54 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-55 Merge from erc--emacs--0 * emacs@sv.gnu.org/emacs--devo--0--patch-56 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-57 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-58 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-59 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-60 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-61 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-62 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-63 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-64 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-65 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-66 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-67 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-68 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-69 rcirc: Add flexible response formatting; Add nick abbrevs * emacs@sv.gnu.org/emacs--devo--0--patch-70 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-71 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-72 Update from CVS: man/dired.texi (Tumme): More tumme documentation. * emacs@sv.gnu.org/gnus--rel--5.10--patch-18 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-19 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-20 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-21 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-22 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-23 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-24 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-25 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-26 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-27 Update from CVS: lisp/gnus.el: Remove bogus comment. * emacs@sv.gnu.org/gnus--rel--5.10--patch-28 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-29 Add sendmail.el and smptmail.el from Emacs tree to contrib/ git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-508
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 12 Feb 2006 00:15:44 +0000
parents 38c49afb29d9 eb6c6d7a4c7f
children 24cf4bf418dc
comparison
equal deleted inserted replaced
83467:d04d8ccb3c41 83468:b98066f4aa10
1 /* Primitive operations on Lisp data types for GNU Emacs Lisp interpreter. 1 /* Primitive operations on Lisp data types for GNU Emacs Lisp interpreter.
2 Copyright (C) 1985, 1986, 1988, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2 Copyright (C) 1985, 1986, 1988, 1993, 1994, 1995, 1997, 1998, 1999, 2000,
3 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 3 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
4 4
5 This file is part of GNU Emacs. 5 This file is part of GNU Emacs.
6 6
7 GNU Emacs is free software; you can redistribute it and/or modify 7 GNU Emacs is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by 8 it under the terms of the GNU General Public License as published by
1982 } 1982 }
1983 1983
1984 return hare; 1984 return hare;
1985 } 1985 }
1986 1986
1987 DEFUN ("indirect-function", Findirect_function, Sindirect_function, 1, 1, 0, 1987 DEFUN ("indirect-function", Findirect_function, Sindirect_function, 1, 2, 0,
1988 doc: /* Return the function at the end of OBJECT's function chain. 1988 doc: /* Return the function at the end of OBJECT's function chain.
1989 If OBJECT is a symbol, follow all function indirections and return the final 1989 If OBJECT is not a symbol, just return it. Otherwise, follow all
1990 function binding. 1990 function indirections to find the final function binding and return it.
1991 If OBJECT is not a symbol, just return it. 1991 If the final symbol in the chain is unbound, signal a void-function error.
1992 Signal a void-function error if the final symbol is unbound. 1992 Optional arg NOERROR non-nil means to return nil instead of signalling.
1993 Signal a cyclic-function-indirection error if there is a loop in the 1993 Signal a cyclic-function-indirection error if there is a loop in the
1994 function chain of symbols. */) 1994 function chain of symbols. */)
1995 (object) 1995 (object, noerror)
1996 register Lisp_Object object; 1996 register Lisp_Object object;
1997 Lisp_Object noerror;
1997 { 1998 {
1998 Lisp_Object result; 1999 Lisp_Object result;
1999 2000
2000 result = indirect_function (object); 2001 result = indirect_function (object);
2001 2002
2002 if (EQ (result, Qunbound)) 2003 if (EQ (result, Qunbound))
2003 return Fsignal (Qvoid_function, Fcons (object, Qnil)); 2004 return (NILP (noerror)
2005 ? Fsignal (Qvoid_function, Fcons (object, Qnil))
2006 : Qnil);
2004 return result; 2007 return result;
2005 } 2008 }
2006 2009
2007 /* Extract and set vector and string elements */ 2010 /* Extract and set vector and string elements */
2008 2011