changeset 30218:70f3583c5da1

(FUNCTIONP): New macro. (internal_condition_case_2, call_function): Add prototypes.
author Gerd Moellmann <gerd@gnu.org>
date Fri, 14 Jul 2000 13:57:22 +0000
parents 887b4d52a334
children 87d8ca1f4b52
files src/lisp.h
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lisp.h	Fri Jul 14 13:57:10 2000 +0000
+++ b/src/lisp.h	Fri Jul 14 13:57:22 2000 +0000
@@ -1438,6 +1438,14 @@
 			 Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)
 #endif
 
+/* Non-zero if OBJ is a Lisp function.  */
+
+#define FUNCTIONP(OBJ)					\
+     ((CONSP (OBJ) && EQ (XCAR (OBJ), Qlambda))		\
+      || (SYMBOLP (OBJ) && !NILP (Ffboundp (OBJ)))	\
+      || COMPILEDP (OBJ)				\
+      || SUBRP (OBJ))
+     
 /* defsubr (Sname);
  is how we define the symbol for function `name' at start-up time.  */
 extern void defsubr P_ ((struct Lisp_Subr *));
@@ -2310,6 +2318,7 @@
 extern Lisp_Object internal_catch P_ ((Lisp_Object, Lisp_Object (*) (Lisp_Object), Lisp_Object));
 extern Lisp_Object internal_condition_case P_ ((Lisp_Object (*) (void), Lisp_Object, Lisp_Object (*) (Lisp_Object)));
 extern Lisp_Object internal_condition_case_1 P_ ((Lisp_Object (*) (Lisp_Object), Lisp_Object, Lisp_Object, Lisp_Object (*) (Lisp_Object)));
+extern Lisp_Object internal_condition_case_2 P_ ((Lisp_Object (*) (int, Lisp_Object *), int, Lisp_Object *, Lisp_Object, Lisp_Object (*) (Lisp_Object)));
 extern void specbind P_ ((Lisp_Object, Lisp_Object));
 extern void record_unwind_protect P_ ((Lisp_Object (*) (Lisp_Object), Lisp_Object));
 extern Lisp_Object unbind_to P_ ((int, Lisp_Object));
@@ -2318,6 +2327,7 @@
 extern Lisp_Object un_autoload P_ ((Lisp_Object));
 EXFUN (Ffetch_bytecode, 1);
 extern void init_eval_once P_ ((void));
+extern Lisp_Object call_function P_ ((int, Lisp_Object *));
 extern void init_eval P_ ((void));
 extern void syms_of_eval P_ ((void));