type 'a t
type file = {}
type normal = unit
type window = {}
val create : Ecaml.Symbol.t -> hook_type:'a Hook_type.t -> 'a tval var : _ t -> Ecaml__.Import.Function.t list Ecaml.Var.t
module Where : sig ... endval add : ?buffer_local:bool -> ?where:Where.t -> 'a t -> 'a Function.t -> unit(describe-function 'add-hook) (Info-goto-node "(elisp)Setting Hooks")
val remove : ?buffer_local:bool -> 'a t -> 'a Function.t -> unit(describe-function 'remove-hook) (Info-goto-node "(elisp)Setting Hooks")
val clear : _ t -> unitval run : normal t -> unit(describe-function 'run-hooks) (Info-goto-node "(elisp)Running Hooks")
val after_load : file t(describe-variable 'after-load-functions) (Info-goto-node "(elisp)Hooks for Loading")
val after_load_once : (file -> unit) -> unitafter_load_once f adds f to after_load, and then removes it when it runs, so that f only runs once.
val after_revert : normal t(describe-variable 'after-revert-hook) (Info-goto-node "(elisp)Reverting")
val after_save : normal t(describe-variable 'after-save-hook) (Info-goto-node "(elisp)Saving Buffers")
val before_save : normal t(describe-variable 'before-save-hook) (Info-goto-node "(elisp)Saving Buffers")
val kill_buffer : normal t(describe-variable 'kill-buffer-hook) (Info-goto-node "(elisp)Killing Buffers")
val post_command : normal t(describe-variable 'post-command-hook) (Info-goto-node "(elisp)Command Overview")
val window_configuration_change : normal t(describe-variable 'window-configuration-change-hook) (Info-goto-node "(elisp)Window Hooks")
val window_scroll_functions : window t(describe-variable 'window-scroll-functions) (Info-goto-node "(elisp)Window Hooks")
val major_mode_hook : Ecaml.Major_mode.t -> normal t(Info-goto-node "(elisp)Major Mode Conventions")