From 16893ff4f9e0f47b440b648f316fc3528d2e4cfb Mon Sep 17 00:00:00 2001 From: herbelin Date: Sun, 13 Jun 2010 11:09:38 +0000 Subject: Fixed a bug in pretty-printing "induction" and "destruct" due to a swap in the evar flags and the isrec flag. (e.g. "induction" was printed "edestruct"). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13124 85f007b7-540e-0410-9357-904b9bb8a0f7 --- dev/doc/changes.txt | 11 ++++++++++- tactics/hiddentac.ml | 6 +++--- tactics/tacinterp.ml | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/dev/doc/changes.txt b/dev/doc/changes.txt index 43d54da23a..7b2b1ca28f 100644 --- a/dev/doc/changes.txt +++ b/dev/doc/changes.txt @@ -1,5 +1,5 @@ ========================================= -= CHANGES BETWEEN COQ V8.2 AND COQ V8.3 = += CHANGES BETWEEN COQ V8.3 AND COQ V8.4 = ========================================= ** Optimizing calls to Evd functions ** @@ -9,6 +9,15 @@ efficiency, when an evar is known to be undefined, it is preferable to use specific functions about undefined evars since these ones are generally fewer than the defined ones. +========================================= += CHANGES BETWEEN COQ V8.2 AND COQ V8.3 = +========================================= + +** Semantical change of h_induction_destruct ** + +Warning, the order of the isrec and evar_flag was inconsistent and has +been permuted. Tactic induction_destruct in tactics.ml is unchanged. + ** Internal tactics renamed There is no more difference between bindings and ebindings. The diff --git a/tactics/hiddentac.ml b/tactics/hiddentac.ml index da2b49557f..32185cb79b 100644 --- a/tactics/hiddentac.ml +++ b/tactics/hiddentac.ml @@ -74,9 +74,9 @@ let h_simple_destruct = h_simple_induction_destruct false let h_induction_destruct isrec ev lcl = abstract_tactic (TacInductionDestruct (isrec,ev,lcl)) - (induction_destruct ev isrec lcl) -let h_new_induction ev c e idl cl = h_induction_destruct ev true ([c,e,idl],cl) -let h_new_destruct ev c e idl cl = h_induction_destruct ev false ([c,e,idl],cl) + (induction_destruct isrec ev lcl) +let h_new_induction ev c e idl cl = h_induction_destruct true ev ([c,e,idl],cl) +let h_new_destruct ev c e idl cl = h_induction_destruct false ev ([c,e,idl],cl) let h_specialize n d = abstract_tactic (TacSpecialize (n,d)) (specialize n d) let h_lapply c = abstract_tactic (TacLApply c) (cut_and_apply c) diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml index 72064f4e52..a754d1265b 100644 --- a/tactics/tacinterp.ml +++ b/tactics/tacinterp.ml @@ -2345,7 +2345,7 @@ and interp_atomic ist gl tac = (Option.map (interp_intro_pattern ist gl) ipato, Option.map (interp_intro_pattern ist gl) ipats)))) sigma l in let cls = Option.map (interp_clause ist gl) cls in - tclWITHHOLES ev (h_induction_destruct ev isrec) sigma (l,cls) + tclWITHHOLES ev (h_induction_destruct isrec ev) sigma (l,cls) | TacDoubleInduction (h1,h2) -> let h1 = interp_quantified_hypothesis ist h1 in let h2 = interp_quantified_hypothesis ist h2 in -- cgit v1.2.3