aboutsummaryrefslogtreecommitdiffhomepage
path: root/vernac
diff options
context:
space:
mode:
authorGravatar Vincent Laporte <Vincent.Laporte@gmail.com>2018-05-31 09:14:47 +0000
committerGravatar Vincent Laporte <Vincent.Laporte@gmail.com>2018-07-03 15:54:22 +0000
commitfb9755ab4445fd86cdfc5b249b487629591d87a0 (patch)
treead511ecd062020fc16e76560d04ada56ba7f5138 /vernac
parent9e75cacd86d491f81da7171c72569ac0cb6aeae0 (diff)
[vernac] mk_atts: an atts record with default values
Diffstat (limited to 'vernac')
-rw-r--r--vernac/vernacentries.ml2
-rw-r--r--vernac/vernacinterp.ml3
-rw-r--r--vernac/vernacinterp.mli3
3 files changed, 7 insertions, 1 deletions
diff --git a/vernac/vernacentries.ml b/vernac/vernacentries.ml
index 135141cd4..1740c5a80 100644
--- a/vernac/vernacentries.ml
+++ b/vernac/vernacentries.ml
@@ -2344,7 +2344,7 @@ let interp ?(verbosely=true) ?proof ~st {CAst.loc;v=c} =
let orig_program_mode = Flags.is_program_mode () in
let rec control = function
| VernacExpr (f, v) ->
- let (polymorphism, atts) = attributes_of_flags f { loc; locality = None; polymorphic = false; program = orig_program_mode; } in
+ let (polymorphism, atts) = attributes_of_flags f (mk_atts ~program:orig_program_mode ()) in
aux ~polymorphism ~atts v
| VernacFail v -> with_fail st true (fun () -> control v)
| VernacTimeout (n,v) ->
diff --git a/vernac/vernacinterp.ml b/vernac/vernacinterp.ml
index d4f2a753f..36b8a7e62 100644
--- a/vernac/vernacinterp.ml
+++ b/vernac/vernacinterp.ml
@@ -21,6 +21,9 @@ type atts = {
program : bool;
}
+let mk_atts ?(loc=None) ?(locality=None) ?(polymorphic=false) ?(program=false) () : atts =
+ { loc ; locality ; polymorphic ; program }
+
type 'a vernac_command = 'a -> atts:atts -> st:Vernacstate.t -> Vernacstate.t
type plugin_args = Genarg.raw_generic_argument list
diff --git a/vernac/vernacinterp.mli b/vernac/vernacinterp.mli
index 935cacf77..a24bcd40d 100644
--- a/vernac/vernacinterp.mli
+++ b/vernac/vernacinterp.mli
@@ -19,6 +19,9 @@ type atts = {
program : bool;
}
+val mk_atts : ?loc: Loc.t option -> ?locality: bool option ->
+ ?polymorphic: bool -> ?program: bool -> unit -> atts
+
type 'a vernac_command = 'a -> atts:atts -> st:Vernacstate.t -> Vernacstate.t
type plugin_args = Genarg.raw_generic_argument list