@@ -7,6 +7,8 @@ open Elpi
77open Elpi_plugin
88open Coq_elpi_arg_syntax
99open Coq_elpi_vernacular
10+ module Evarconv = Evarconv
11+ module Evarconv_hacked = Evarconv_hacked
1012
1113
1214let elpi_cs_hook program env sigma lhs rhs =
@@ -50,15 +52,18 @@ let elpi_cs_hook program env sigma lhs rhs =
5052let add_cs_hook =
5153 let cs_hook_program = Summary. ref ~name: " elpi-cs" None in
5254 let cs_hook env sigma proj pat =
55+ Feedback. msg_info (Pp. str " run" );
5356 match ! cs_hook_program with
5457 | None -> None
5558 | Some h -> elpi_cs_hook h env sigma proj pat in
5659 let name = " elpi-cs" in
57- Evarconv . register_hook ~name cs_hook;
60+ Evarconv_hacked . register_hook ~name cs_hook;
5861 let inCs =
5962 let cache program =
6063 cs_hook_program := Some program;
61- Evarconv. activate_hook ~name in
64+ Feedback. msg_info (Pp. str " activate" );
65+
66+ Evarconv_hacked. activate_hook ~name in
6267 let open Libobject in
6368 declare_object
6469 @@ superglobal_object_nodischarge " ELPI-CS" ~cache ~subst: None in
@@ -73,12 +78,23 @@ let () = Vernacextend.static_vernac_extend ~plugin:(Some "coq-elpi-cs.plugin") ~
7378 Vernacextend. TyNil ))), (let coqpp_body p
7479 atts = Vernactypes. vtdefault (fun () ->
7580
76- # 72 " src/coq_elpi_cs_hook.mlg"
81+ # 74 " src/coq_elpi_cs_hook.mlg"
7782
7883 let () = ignore_unknown_attributes atts in
7984 add_cs_hook (snd p)
8085 ) in fun p
8186 ?loc ~atts ()
8287 -> coqpp_body p
83- (Attributes. parse any_attribute atts)), None ))]
88+ (Attributes. parse any_attribute atts)), None ));
89+ (Vernacextend. TyML (false , Vernacextend. TyTerminal (" Elpi" ,
90+ Vernacextend. TyTerminal (" Override" ,
91+ Vernacextend. TyTerminal (" CS" , Vernacextend. TyNonTerminal (
92+ Extend. TUentry (Genarg. get_arg_tag wit_qualified_name),
93+ Vernacextend. TyNil )))),
94+ (let coqpp_body p atts = Vernactypes. vtdefault (fun () ->
95+ # 77 " src/coq_elpi_cs_hook.mlg"
96+
97+ Evarconv. set_evar_conv Evarconv_hacked. evar_conv_x
98+ ) in fun p
99+ ?loc ~atts () -> coqpp_body p (Attributes. parse any_attribute atts)), None ))]
84100
0 commit comments