Module Ecaml__System

(Info-goto-node "(elisp)System Environment")

Emacs maintains its own copy of the path and environment which is not visible to OCaml. Therefore, Async.Process.create will not give the same path and environment as Ecaml.Process.create, and Ecaml.System.setenv ~var:"PATH" does not affect the behavior of Async.Process.create (or Ecaml.Process.create!).

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