package ecaml

  1. Overview
  2. Docs
Library for writing Emacs plugin in OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

ecaml-v0.12.0.tar.gz
sha256=765b64e5767a1da79f38734b40b99c465856a236256cdd4ca706449d5fb2b05e
md5=2ddd362aec66de0a82e8aa1c05ec1fa4

doc/ecaml.ecaml_value/Ecaml_value/Ecaml_callback/index.html

Module Ecaml_value.Ecaml_callback

This module is used to enforce the expected types of registered callbacks.

module Value : sig ... end

This module exists to break the dependency between Value and Callback.

type 'a t
val register : 'a t -> f:'a -> should_run_holding_async_lock:bool -> unit
val dispatch_function : (Ecaml_value__.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_value__.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.

val set_async_execution_context : (unit -> unit) Core_kernel.Set_once.t
OCaml

Innovation. Community. Security.