aboutsummaryrefslogtreecommitdiff
path: root/tactics
diff options
context:
space:
mode:
authorherbelin2012-01-20 21:08:43 +0000
committerherbelin2012-01-20 21:08:43 +0000
commit1c9dcf7f3b083a66e1529aa9dbb0960c739f38d6 (patch)
tree8fa799577cba196892cfe7caa2a16c22efc4e42a /tactics
parent6679d01256ce9a4a05c13eabbb4e2d85c3e6f075 (diff)
Breakpoints in Ltac debugger: new command "r foo" to jump to the next
call to "idtac foo" in Ltac code. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14929 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
-rw-r--r--tactics/tacinterp.ml5
1 files changed, 4 insertions, 1 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index a41cd6e725..fecc2bac10 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -1769,7 +1769,9 @@ and eval_tactic ist = function
catch_error (push_trace(loc,call)ist.trace) tac gl
| TacFun _ | TacLetIn _ -> assert false
| TacMatchGoal _ | TacMatch _ -> assert false
- | TacId s -> fun gl -> tclIDTAC_MESSAGE (interp_message_nl ist gl s) gl
+ | TacId s -> fun gl ->
+ let res = tclIDTAC_MESSAGE (interp_message_nl ist gl s) gl in
+ db_breakpoint ist.debug s; res
| TacFail (n,s) -> fun gl -> tclFAIL (interp_int_or_var ist n) (interp_message ist gl s) gl
| TacProgress tac -> tclPROGRESS (interp_tactic ist tac)
| TacAbstract (tac,ido) ->
@@ -2488,6 +2490,7 @@ let interp_tac_gen lfun avoid_ids debug t gl =
gsigma = project gl; genv = pf_env gl } t) gl
let eval_tactic t gls =
+ db_initialize ();
interp_tactic { lfun=[]; avoid_ids=[]; debug=get_debug(); trace=[] }
t gls