diff options
author | Maxime Dénès <mail@maximedenes.fr> | 2017-05-09 09:26:06 +0200 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2017-05-09 09:26:06 +0200 |
commit | bfea0e03c55cd2ee3ebb99ee028bb4412f0c623f (patch) | |
tree | 433728e89964e11c2b775260ace2db9b9f8d7249 /plugins | |
parent | 18612c777773acd1183d6a0cefc634ccc0b9d3d1 (diff) | |
parent | 8f4d79115c3686de41e20c41ef6dbce8b8546366 (diff) |
Merge PR#612: Set Ltac Batch Debug
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/ltac/tactic_debug.ml | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/ltac/tactic_debug.ml b/plugins/ltac/tactic_debug.ml index dffeade29..dac15ff79 100644 --- a/plugins/ltac/tactic_debug.ml +++ b/plugins/ltac/tactic_debug.ml @@ -85,6 +85,19 @@ let skipped = Proofview.NonLogical.run (Proofview.NonLogical.ref 0) let skip = Proofview.NonLogical.run (Proofview.NonLogical.ref 0) let breakpoint = Proofview.NonLogical.run (Proofview.NonLogical.ref None) +let batch = ref false + +open Goptions + +let _ = + declare_bool_option + { optsync = false; + optdepr = false; + optname = "Ltac batch debug"; + optkey = ["Ltac";"Batch";"Debug"]; + optread = (fun () -> !batch); + optwrite = (fun x -> batch := x) } + let rec drop_spaces inst i = if String.length inst > i && inst.[i] == ' ' then drop_spaces inst (i+1) else i @@ -150,6 +163,7 @@ let rec prompt level = begin let open Proofview.NonLogical in Proofview.NonLogical.print_notice (fnl () ++ str "TcDebug (" ++ int level ++ str ") > ") >> + if Pervasives.(!batch) then return (DebugOn (level+1)) else let exit = (skip:=0) >> (skipped:=0) >> raise Sys.Break in Proofview.NonLogical.catch Proofview.NonLogical.read_line begin function (e, info) -> match e with |