aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-06-13 11:09:38 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-06-13 11:09:38 +0000
commit16893ff4f9e0f47b440b648f316fc3528d2e4cfb (patch)
tree9fcbbaba6f3e1e6a57aa2545b6f2b86a1d8bd30d
parenta97decb77b2084a3b84c5135f5bae2dbbb5ace26 (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.txt11
-rw-r--r--tactics/hiddentac.ml6
-rw-r--r--tactics/tacinterp.ml2
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