aboutsummaryrefslogtreecommitdiffhomepage
path: root/grammar
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2014-11-08 13:37:34 +0100
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2014-11-08 16:17:25 +0100
commit7750fb5d882b1da4bc2f35c8d28a180c27fbb8a4 (patch)
treef3b60d91a92276a0f2106d9fb97f4bac14cd98a9 /grammar
parent4f2bbf0c82f8ea4ba26990770fb1f103a6ca1668 (diff)
Continuing 3741c46fe134 on reporting ltac error.
- Do use the flag for_ml for distinguishing coq level and ml level ltac definitions. - Skip ML call from the trace. There are still differences from 8.4 and trunk. For instance on: Ltac f x := refine x. Goal False. f I. 8.4 says: In nested Ltac calls to "f" and "x" (with x:=I), last term evaluation failed. Error: The term "I" has type "True" while it is expected to have type "False". trunk says: In nested Ltac calls to "f" and "refine <genarg:uconstr>", last call failed. Error: The term "I" has type "True" while it is expected to have type "False". Maybe we would like a mix of both (besides the printing of a non-elegant "<genarg:uconstr>)?
Diffstat (limited to 'grammar')
-rw-r--r--grammar/tacextend.ml42
1 files changed, 1 insertions, 1 deletions
diff --git a/grammar/tacextend.ml4 b/grammar/tacextend.ml4
index aec115b7e..25ce4cdaf 100644
--- a/grammar/tacextend.ml4
+++ b/grammar/tacextend.ml4
@@ -204,7 +204,7 @@ let declare_tactic loc s c cl = match cl with
let name = <:expr< Names.Id.of_string $name$ >> in
declare_str_items loc
[ <:str_item< do {
- let obj () = Tacenv.register_ltac False $name$ $body$ in
+ let obj () = Tacenv.register_ltac ~{for_ml=True} False $name$ $body$ in
try do {
Tacenv.register_ml_tactic $se$ $tac$;
Mltop.declare_cache_obj obj $plugin_name$; }