aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--stm/stm.ml8
-rw-r--r--stm/stm.mli5
2 files changed, 10 insertions, 3 deletions
diff --git a/stm/stm.ml b/stm/stm.ml
index 1c06c1efb7..0b00524bd5 100644
--- a/stm/stm.ml
+++ b/stm/stm.ml
@@ -2305,7 +2305,10 @@ end (* }}} *)
(** STM initialization options: *)
-type option_command = OptionSet of string option | OptionUnset
+type option_command =
+ | OptionSet of string option
+ | OptionAppend of string
+ | OptionUnset
type injection_command =
| OptionInjection of (Goptions.option_name * option_command)
@@ -2404,7 +2407,8 @@ let new_doc { doc_type ; ml_load_path; vo_load_path; injections; stm_options } =
let set_option = let open Goptions in function
| opt, OptionUnset -> unset_option_value_gen ~locality:OptLocal opt
| opt, OptionSet None -> set_bool_option_value_gen ~locality:OptLocal opt true
- | opt, OptionSet (Some v) -> set_option_value ~locality:OptLocal (interp_set_option opt) opt v in
+ | opt, OptionSet (Some v) -> set_option_value ~locality:OptLocal (interp_set_option opt) opt v
+ | opt, OptionAppend v -> set_string_option_append_value_gen ~locality:OptLocal opt v in
let handle_injection = function
| RequireInjection r -> require_file r
diff --git a/stm/stm.mli b/stm/stm.mli
index 097bcbe0ca..e0c33a309b 100644
--- a/stm/stm.mli
+++ b/stm/stm.mli
@@ -52,7 +52,10 @@ type stm_doc_type =
| VioDoc of string (* file path *)
| Interactive of interactive_top (* module path *)
-type option_command = OptionSet of string option | OptionUnset
+type option_command =
+ | OptionSet of string option
+ | OptionAppend of string
+ | OptionUnset
type injection_command =
| OptionInjection of (Goptions.option_name * option_command)