diff options
| author | Karoly Lorentey | 2006-02-12 00:15:44 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2006-02-12 00:15:44 +0000 |
| commit | 1913a2b35da45eeeb71ef851975be7d57c11de78 (patch) | |
| tree | 6cd59883fb931999da5b62c03b321ade6f77e66e /src/data.c | |
| parent | a5805c9d0240fab504f2a3e32db6449392005fb6 (diff) | |
| parent | a528b71e55b2b244a5dd35318713ccb20398cbbf (diff) | |
| download | emacs-1913a2b35da45eeeb71ef851975be7d57c11de78.tar.gz emacs-1913a2b35da45eeeb71ef851975be7d57c11de78.zip | |
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
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/data.c b/src/data.c index 10d6a1e9eb5..d2f6ce76905 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -1,6 +1,6 @@ | |||
| 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 | ||
| @@ -1984,23 +1984,26 @@ indirect_function (object) | |||
| 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 | ||