diff options
| author | herbelin | 2010-04-22 13:51:03 +0000 |
|---|---|---|
| committer | herbelin | 2010-04-22 13:51:03 +0000 |
| commit | f77d428c11bf47c20b8ea67d8ed7dce6af106bcd (patch) | |
| tree | 44433dd5b3d54de888867d292ed22d6f4f7b9b29 /toplevel | |
| parent | a12cb57a808c328e4a58a9babf34914b0fc1a8a1 (diff) | |
Applying François Garillot's patch (#2261 in bug tracker) for extended
syntax of "Implicit Type" (that can now be "Implicit Types" and can
now accept several blocks of variables of a given type).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12960 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel')
| -rw-r--r-- | toplevel/vernacentries.ml | 12 | ||||
| -rw-r--r-- | toplevel/vernacexpr.ml | 2 |
2 files changed, 8 insertions, 6 deletions
diff --git a/toplevel/vernacentries.ml b/toplevel/vernacentries.ml index d77257a0b7..886f4033d8 100644 --- a/toplevel/vernacentries.ml +++ b/toplevel/vernacentries.ml @@ -771,10 +771,12 @@ let vernac_declare_implicits local r = function | None -> Impargs.declare_implicits local (smart_global r) -let vernac_reserve idl c = - let t = Constrintern.interp_type Evd.empty (Global.env()) c in - let t = Detyping.detype false [] [] t in - List.iter (fun id -> Reserve.declare_reserved_type id t) idl +let vernac_reserve bl = + let sb_decl = (fun (idl,c) -> + let t = Constrintern.interp_type Evd.empty (Global.env()) c in + let t = Detyping.detype false [] [] t in + List.iter (fun id -> Reserve.declare_reserved_type id t) idl) + in List.iter sb_decl bl let vernac_generalizable = Implicit_quantifiers.declare_generalizable @@ -1386,7 +1388,7 @@ let interp c = match c with | VernacHints (local,dbnames,hints) -> vernac_hints local dbnames hints | VernacSyntacticDefinition (id,c,l,b) ->vernac_syntactic_definition id c l b | VernacDeclareImplicits (local,qid,l) ->vernac_declare_implicits local qid l - | VernacReserve (idl,c) -> vernac_reserve idl c + | VernacReserve bl -> vernac_reserve bl | VernacGeneralizable (local,gen) -> vernac_generalizable local gen | VernacSetOpacity (local,qidl) -> vernac_set_opacity local qidl | VernacSetOption (locality,key,v) -> vernac_set_option locality key v diff --git a/toplevel/vernacexpr.ml b/toplevel/vernacexpr.ml index 4f7beeb0b2..0db000a485 100644 --- a/toplevel/vernacexpr.ml +++ b/toplevel/vernacexpr.ml @@ -312,7 +312,7 @@ type vernac_expr = locality_flag * onlyparsing_flag | VernacDeclareImplicits of locality_flag * reference or_by_notation * (explicitation * bool * bool) list option - | VernacReserve of lident list * constr_expr + | VernacReserve of simple_binder list | VernacGeneralizable of locality_flag * (lident list) option | VernacSetOpacity of locality_flag * (Conv_oracle.level * reference or_by_notation list) list |
