aboutsummaryrefslogtreecommitdiffstats
path: root/src/lisp.h
diff options
context:
space:
mode:
authorPhilipp Stephani2020-01-05 16:05:14 +0100
committerPhilipp Stephani2020-01-05 16:07:28 +0100
commitfc92c2d8942cf466aa6dbc422f2e798801b18408 (patch)
treeddf5bc386ba474733db39de3d23f76c8563ebd4b /src/lisp.h
parent9d38564cdde8cbe9d4c08a7ffef7f25e9692814a (diff)
downloademacs-fc92c2d8942cf466aa6dbc422f2e798801b18408.tar.gz
emacs-fc92c2d8942cf466aa6dbc422f2e798801b18408.zip
Also print function data when printing module functions.
This is especially useful in cases where modules only use a single entry point and use the data to dispatch to the actual function. Such a design is common for languages such as Go and C++. * src/emacs-module.c (module_function_data): New function. * src/print.c (print_vectorlike): Use it to print module function data if not NULL. (print_object): Adapt size of buffer. * test/data/emacs-module/mod-test.c (emacs_module_init): Pass some non-NULL data to ‘mod-test-sum’. (Fmod_test_sum): Check that correct data is passed through. * test/src/emacs-module-tests.el (mod-test-sum-test) (module-function-object): Adapt unit tests.
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 9be7bfec5c0..e1bbb53ad49 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -4245,6 +4245,7 @@ extern Lisp_Object module_function_documentation
4245 (struct Lisp_Module_Function const *); 4245 (struct Lisp_Module_Function const *);
4246extern module_funcptr module_function_address 4246extern module_funcptr module_function_address
4247 (struct Lisp_Module_Function const *); 4247 (struct Lisp_Module_Function const *);
4248extern void *module_function_data (const struct Lisp_Module_Function *);
4248extern void module_finalize_function (const struct Lisp_Module_Function *); 4249extern void module_finalize_function (const struct Lisp_Module_Function *);
4249extern void mark_modules (void); 4250extern void mark_modules (void);
4250extern void init_module_assertions (bool); 4251extern void init_module_assertions (bool);