diff options
Diffstat (limited to 'src/lisp.h')
| -rw-r--r-- | src/lisp.h | 30 |
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); | |||
| 4151 | extern void unexec_free (void *); | 4151 | extern 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. */ | ||
| 4158 | typedef 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 | |||
| 4168 | struct 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 | ||
| 4181 | INLINE bool | 4157 | INLINE bool |
| 4182 | MODULE_FUNCTIONP (Lisp_Object o) | 4158 | MODULE_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. */ |
| 4199 | extern Lisp_Object funcall_module (Lisp_Object, ptrdiff_t, Lisp_Object *); | 4175 | extern Lisp_Object funcall_module (Lisp_Object, ptrdiff_t, Lisp_Object *); |
| 4200 | extern Lisp_Object module_function_arity (const struct Lisp_Module_Function *); | 4176 | extern Lisp_Object module_function_arity (const struct Lisp_Module_Function *); |
| 4177 | extern Lisp_Object module_function_documentation (const struct Lisp_Module_Function *); | ||
| 4178 | extern void *module_function_address (const struct Lisp_Module_Function *); | ||
| 4201 | extern void mark_modules (void); | 4179 | extern void mark_modules (void); |
| 4202 | extern void init_module_assertions (bool); | 4180 | extern void init_module_assertions (bool); |
| 4203 | extern void syms_of_module (void); | 4181 | extern void syms_of_module (void); |