@@ -630,6 +630,25 @@ let loc_merge l1 l2 =
630630 try Loc. merge l1 l2
631631 with Failure _ -> l1
632632
633+ [%% if coq = " 8.20" || coq = " 9.0" || coq = " 9.1" ]
634+ let classifier _loc0 _args _loc1 =
635+ let open Vernac_classifier in
636+ Vernacextend. VtSideff ([] , VtNow )
637+ let execution p loc0 args loc1 ?loc ~atts () =
638+ let loc = Option. default (loc_merge loc0 loc1) loc in
639+ let syndata = Synterp. run_program ~loc p ~atts args in
640+ Vernactypes. vtdefault (fun () -> Interp. run_program ~loc p ~atts ~syndata args)
641+ [%% else ]
642+ let classifier _loc0 _args _loc1 ~atts =
643+ let open Vernac_classifier in
644+ Vernacextend. VtSideff ([] , VtNow )
645+ let execution p loc0 args loc1 ?loc ~atts () =
646+ let loc = Option. default (loc_merge loc0 loc1) loc in
647+ let syndata = Synterp. run_program ~loc p ~atts args in
648+ Vernactypes. vtdefault (fun () -> Interp. run_program ~loc p ~atts ~syndata args)
649+ [%% endif]
650+
651+
633652let cache_program (nature ,p ,q ) =
634653 let p_str = String. concat " ." q in
635654 match nature with
@@ -645,7 +664,7 @@ let cache_program (nature,p,q) =
645664 ?entry:None
646665 ~depr: false
647666
648- (fun _loc0 _args _loc1 -> ( Vernacextend. VtSideff ( [] , VtNow )) )
667+ (classifier )
649668
650669 (Vernacextend. TyNonTerminal
651670 (Extend. TUentry
@@ -659,11 +678,7 @@ let cache_program (nature,p,q) =
659678 (Extend. TUentry (Genarg. get_arg_tag Rocq_elpi_arg_syntax. wit_elpi_loc),
660679 Vernacextend. TyNil )))))
661680
662- (fun loc0 args loc1 ?loc ~atts () ->
663- let loc = Option. default (loc_merge loc0 loc1) loc in
664- let syndata = Synterp. run_program ~loc p ~atts args in
665- Vernactypes. vtdefault (fun () ->
666- Interp. run_program ~loc p ~atts ~syndata args))
681+ (execution p)
667682 in
668683 Egramml. extend_vernac_command_grammar ~undoable: true ext
669684
0 commit comments