aboutsummaryrefslogtreecommitdiff
path: root/toplevel
diff options
context:
space:
mode:
authorherbelin2007-05-29 10:01:06 +0000
committerherbelin2007-05-29 10:01:06 +0000
commit28a551e49864bbfee8a9212fdbcc364d1132b19e (patch)
treeaf54777193da1f6e12e60e295006c13cf5247f34 /toplevel
parent7b00173a3e2cb44162e6d90e9306b20621ad046b (diff)
Correction d'un bug dans l'affichage du message d'erreur real_clean
(cas d'un terme sans Rel libre), introduction au passage d'un nouveau type d'evar EvarGoal pour raffinement du message d'erreur. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9868 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel')
-rw-r--r--toplevel/himsg.ml17
1 files changed, 9 insertions, 8 deletions
diff --git a/toplevel/himsg.ml b/toplevel/himsg.ml
index 7e45efe942..e25ff99e0c 100644
--- a/toplevel/himsg.ml
+++ b/toplevel/himsg.ml
@@ -312,31 +312,32 @@ let explain_occur_check env ev rhs =
pt ++ spc () ++ str "that would depend on itself."
let explain_hole_kind env = function
- | QuestionMark _ -> str "a term for this placeholder"
+ | QuestionMark _ -> str "this placeholder"
| CasesType ->
str "the type of this pattern-matching problem"
| BinderType (Name id) ->
- str "a type for " ++ Nameops.pr_id id
+ str "the type of " ++ Nameops.pr_id id
| BinderType Anonymous ->
- str "a type for this anonymous binder"
+ str "the type of this anonymous binder"
| ImplicitArg (c,(n,ido)) ->
let id = out_some ido in
- str "an instance for the implicit parameter " ++
+ str "the implicit parameter " ++
pr_id id ++ spc () ++ str "of" ++
spc () ++ Nametab.pr_global_env Idset.empty c
| InternalHole ->
- str "a term for an internal placeholder"
+ str "an internal placeholder"
| TomatchTypeParameter (tyi,n) ->
str "the " ++ nth n ++
str " argument of the inductive type (" ++ pr_inductive env tyi ++
str ") of this term"
+ | GoalEvar ->
+ str "an existential variable"
let explain_not_clean env ev t k =
let env = make_all_name_different env in
- let c = mkRel (Intset.choose (free_rels t)) in
let id = Evd.string_of_existential ev in
- let var = pr_lconstr_env env c in
- str "Tried to define " ++ explain_hole_kind env k ++
+ let var = pr_lconstr_env env t in
+ str "Tried to instantiate " ++ explain_hole_kind env k ++
str " (" ++ str id ++ str ")" ++ spc () ++
str "with a term using variable " ++ var ++ spc () ++
str "which is not in its scope."