diff options
author | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2010-06-13 11:09:38 +0000 |
---|---|---|
committer | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2010-06-13 11:09:38 +0000 |
commit | 16893ff4f9e0f47b440b648f316fc3528d2e4cfb (patch) | |
tree | 9fcbbaba6f3e1e6a57aa2545b6f2b86a1d8bd30d | |
parent | a97decb77b2084a3b84c5135f5bae2dbbb5ace26 (diff) |
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
-rw-r--r-- | dev/doc/changes.txt | 11 | ||||
-rw-r--r-- | tactics/hiddentac.ml | 6 | ||||
-rw-r--r-- | tactics/tacinterp.ml | 2 |
3 files changed, 14 insertions, 5 deletions
diff --git a/dev/doc/changes.txt b/dev/doc/changes.txt index 43d54da23..7b2b1ca28 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 da2b49557..32185cb79 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 72064f4e5..a754d1265 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 |