aboutsummaryrefslogtreecommitdiffstats
path: root/src/lisp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h30
1 files changed, 4 insertions, 26 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 70b2aa270e0..8dc44291a8f 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -4151,32 +4151,8 @@ extern void *unexec_realloc (void *, size_t);
4151extern void unexec_free (void *); 4151extern void unexec_free (void *);
4152#endif 4152#endif
4153 4153
4154#define EMACS_MODULE_GMP 4154/* The definition of Lisp_Module_Function depends on emacs-module.h,
4155#include "emacs-module.h" 4155 so we don't define it here. It's defined in emacs-module.c. */
4156
4157/* Function prototype for the module Lisp functions. */
4158typedef emacs_value (*emacs_subr) (emacs_env *, ptrdiff_t,
4159 emacs_value [], void *);
4160
4161/* Module function. */
4162
4163/* A function environment is an auxiliary structure returned by
4164 `module_make_function' to store information about a module
4165 function. It is stored in a pseudovector. Its members correspond
4166 to the arguments given to `module_make_function'. */
4167
4168struct Lisp_Module_Function
4169{
4170 union vectorlike_header header;
4171
4172 /* Fields traced by GC; these must come first. */
4173 Lisp_Object documentation;
4174
4175 /* Fields ignored by GC. */
4176 ptrdiff_t min_arity, max_arity;
4177 emacs_subr subr;
4178 void *data;
4179} GCALIGNED_STRUCT;
4180 4156
4181INLINE bool 4157INLINE bool
4182MODULE_FUNCTIONP (Lisp_Object o) 4158MODULE_FUNCTIONP (Lisp_Object o)
@@ -4198,6 +4174,8 @@ extern Lisp_Object make_user_ptr (void (*finalizer) (void *), void *p);
4198/* Defined in emacs-module.c. */ 4174/* Defined in emacs-module.c. */
4199extern Lisp_Object funcall_module (Lisp_Object, ptrdiff_t, Lisp_Object *); 4175extern Lisp_Object funcall_module (Lisp_Object, ptrdiff_t, Lisp_Object *);
4200extern Lisp_Object module_function_arity (const struct Lisp_Module_Function *); 4176extern Lisp_Object module_function_arity (const struct Lisp_Module_Function *);
4177extern Lisp_Object module_function_documentation (const struct Lisp_Module_Function *);
4178extern void *module_function_address (const struct Lisp_Module_Function *);
4201extern void mark_modules (void); 4179extern void mark_modules (void);
4202extern void init_module_assertions (bool); 4180extern void init_module_assertions (bool);
4203extern void syms_of_module (void); 4181extern void syms_of_module (void);