Module Ecaml__.System

val getenv : var:string -> string option

(describe-function 'getenv) (Info-goto-node "(elisp)System Environment")

val setenv : var:string -> value:string option -> unit

(describe-function 'setenv) (Info-goto-node "(elisp)System Environment")

val process_environment : string list Ecaml.Var.t

(describe-variable 'process-environment) (Info-goto-node "(elisp)System Environment")

val noninteractive : bool Ecaml.Var.t

(describe-variable 'noninteractive) (Info-goto-node "(elisp)Batch Mode")

val is_interactive : unit -> bool

is_interactive () = not (Current_buffer.value_exn noninteractive)

val hostname : unit -> string
val exec_path : string list Ecaml.Var.t

(describe-variable 'exec-path)

module Var_and_value : sig ... end
val setenv_temporarily : (_'a) Ecaml.Sync_or_async.t -> Var_and_value.t list -> f:(unit -> 'a) -> 'a