diff options
| -rw-r--r-- | tactics/tacinterp.ml | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml index d49163bfba..f48e7935cb 100644 --- a/tactics/tacinterp.ml +++ b/tactics/tacinterp.ml @@ -714,7 +714,8 @@ let rec intern_atomic lf ist x = TacReduce (intern_red_expr ist r, clause_app (intern_hyp_location ist) cl) | TacChange (occl,c,cl) -> TacChange (option_map (intern_constr_occurrence ist) occl, - intern_constr ist c, clause_app (intern_hyp_location ist) cl) + (if occl = None then intern_type ist c else intern_constr ist c), + clause_app (intern_hyp_location ist) cl) (* Equivalence relations *) | TacReflexivity -> TacReflexivity @@ -2062,7 +2063,9 @@ and interp_atomic ist gl = function h_reduce (pf_interp_red_expr ist gl r) (interp_clause ist gl cl) | TacChange (occl,c,cl) -> h_change (option_map (pf_interp_pattern ist gl) occl) - (pf_interp_constr ist gl c) (interp_clause ist gl cl) + (if occl = None then pf_interp_type ist gl c + else pf_interp_constr ist gl c) + (interp_clause ist gl cl) (* Equivalence relations *) | TacReflexivity -> h_reflexivity |
