]> git.eshelyaron.com Git - emacs.git/commit
Don't use GCC extensions in src/emacs-module.c
authorPo Lu <luangruo@yahoo.com>
Sat, 11 Mar 2023 01:53:24 +0000 (09:53 +0800)
committerPo Lu <luangruo@yahoo.com>
Sat, 11 Mar 2023 01:53:24 +0000 (09:53 +0800)
commit248b34596159c460a4afd152035e226c44cf31fd
tree4f32983a7ae99cd9fe425e0b6b929881a57c6b41
parente9a879260d791ccd509f031ea4e2f3fd645a9672
Don't use GCC extensions in src/emacs-module.c

* configure.ac: Default modules to on.  Remove check for
__attribute__((cleanup)).  However, keep the new `ifavailable'
value for systems without dlopen.

* src/emacs-module.c (MODULE_HANDLE_NONLOCAL_EXIT): Don't rely
on cleanup attribute and correctly reset handlerlist upon
longjmp.
(MODULE_INTERNAL_CLEANUP): New macro.
(module_make_global_ref, module_free_global_ref)
(module_make_function, module_get_function_finalizer)
(module_set_function_finalizer, module_make_interactive)
(module_funcall, module_intern, module_type_of)
(module_extract_integer, module_make_integer, module_extract_float)
(module_make_float, module_copy_string_contents)
(module_make_string, module_make_unibyte_string)
(module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
(module_get_user_finalizer, module_set_user_finalizer)
(module_vec_set, module_vec_get, module_vec_size)
(module_process_input, module_extract_time, module_make_time)
(module_extract_big_integer, module_make_big_integer)
(module_open_channel): Call MODULE_INTERNAL_CLEANUP prior to
returning.
configure.ac
src/emacs-module.c