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 Var.t

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

val hostname : unit ‑> string
val exec_path : string list Var.t

(describe-variable 'exec-path)

module Var_and_value : sig ... end
val setenv_temporarily : Var_and_value.t list ‑> f:(unit ‑> 'a) ‑> 'a