This module is used to enforce the expected types of registered callbacks.
module Value = Ecaml__.Value0
val register : 'a t ‑> f:'a ‑> unit
val dispatch_function : (Ecaml__.Caml_embedded_id.t ‑> Value.t array ‑> Value.t) t
dispatch_function
is how Emacs calls from C to OCaml.
val end_of_module_initialization : (unit ‑> unit) t
The C code arranges to call end_of_module_initialization
at the end of
emacs_module_init
, which is what Emacs calls to initialize an Ecaml plugin. This
is after all the other top-level OCaml code has run.
val no_active_env : (unit ‑> unit) t
no_active_env
is used when the C code detects that OCaml is attempting to call an
Emacs function but there is no active env. It prints a message that includes an
OCaml backtrace, which may be useful in debugging.
val free_embedded_caml_values : (Ecaml__.Caml_embedded_id.t array ‑> unit) t
free_embedded_caml_values
removes entries for any embeded ocaml values that are not
longer used in emacs and are scheduled to be removed. The function runs whenever we
enter OCaml from emacs, provided of course that there are values to collect.