aboutsummaryrefslogtreecommitdiff
path: root/vernac
diff options
context:
space:
mode:
Diffstat (limited to 'vernac')
-rw-r--r--vernac/vernacextend.ml1
-rw-r--r--vernac/vernacextend.mli1
-rw-r--r--vernac/vernacinterp.ml3
3 files changed, 5 insertions, 0 deletions
diff --git a/vernac/vernacextend.ml b/vernac/vernacextend.ml
index 7317818730..496b1a43d1 100644
--- a/vernac/vernacextend.ml
+++ b/vernac/vernacextend.ml
@@ -63,6 +63,7 @@ type typed_vernac =
| VtReadProgram of (pm:Declare.OblState.t -> unit)
| VtModifyProgram of (pm:Declare.OblState.t -> Declare.OblState.t)
| VtDeclareProgram of (pm:Declare.OblState.t -> Declare.Proof.t)
+ | VtOpenProofProgram of (pm:Declare.OblState.t -> Declare.OblState.t * Declare.Proof.t)
type vernac_command = atts:Attributes.vernac_flags -> typed_vernac
diff --git a/vernac/vernacextend.mli b/vernac/vernacextend.mli
index a24bb9b302..5ef137cfc0 100644
--- a/vernac/vernacextend.mli
+++ b/vernac/vernacextend.mli
@@ -81,6 +81,7 @@ type typed_vernac =
| VtReadProgram of (pm:Declare.OblState.t -> unit)
| VtModifyProgram of (pm:Declare.OblState.t -> Declare.OblState.t)
| VtDeclareProgram of (pm:Declare.OblState.t -> Declare.Proof.t)
+ | VtOpenProofProgram of (pm:Declare.OblState.t -> Declare.OblState.t * Declare.Proof.t)
type vernac_command = atts:Attributes.vernac_flags -> typed_vernac
diff --git a/vernac/vernacinterp.ml b/vernac/vernacinterp.ml
index 898506fdbc..6be2fb0d43 100644
--- a/vernac/vernacinterp.ml
+++ b/vernac/vernacinterp.ml
@@ -54,6 +54,9 @@ let interp_typed_vernac c ~pm ~stack =
| VtDeclareProgram f ->
let lemma = f ~pm in
Some (Vernacstate.LemmaStack.push stack lemma), pm
+ | VtOpenProofProgram f ->
+ let pm, lemma = f ~pm in
+ Some (Vernacstate.LemmaStack.push stack lemma), pm
(* Default proof mode, to be set at the beginning of proofs for
programs that cannot be statically classified. *)