aboutsummaryrefslogtreecommitdiffhomepage
path: root/toplevel
diff options
context:
space:
mode:
authorGravatar Emilio Jesus Gallego Arias <e+git@x80.org>2017-09-26 00:57:41 +0200
committerGravatar Emilio Jesus Gallego Arias <e+git@x80.org>2017-09-27 18:13:20 +0200
commitec59306708f9aec04ab82a7e03807017e1924507 (patch)
treea3b4389c365def2f85eaabc66e1f08d82c516d66 /toplevel
parentb9740771e8113cb9e607793887be7a12587d0326 (diff)
[stm] Warn about costly Undo operations in batch mode [BZ#5677]
Undo & friends is very expensive in batch mode as backtracking state is not kept and thus should be recomputed. We thus warn the user.
Diffstat (limited to 'toplevel')
-rw-r--r--toplevel/vernac.ml6
1 files changed, 6 insertions, 0 deletions
diff --git a/toplevel/vernac.ml b/toplevel/vernac.ml
index 4b97ee0dd..b0f021cdc 100644
--- a/toplevel/vernac.ml
+++ b/toplevel/vernac.ml
@@ -132,10 +132,16 @@ let rec interp_vernac sid (loc,com) =
highly dynamic and depends on the structure of the
document. Hopefully this is fixed when VtBack can be removed
and Undo etc... are just interpreted regularly. *)
+
+ (* XXX: The classifier can emit warnings so we need to guard
+ against that... *)
+ let wflags = CWarnings.get_flags () in
+ CWarnings.set_flags "none";
let is_proof_step = match fst (Vernac_classifier.classify_vernac v) with
| VtProofStep _ | VtBack (_, _) | VtStartProof _ -> true
| _ -> false
in
+ CWarnings.set_flags wflags;
let nsid, ntip = Stm.add ~ontop:sid (not !Flags.quiet) (loc,v) in