diff options
| author | herbelin | 2003-11-04 13:56:26 +0000 |
|---|---|---|
| committer | herbelin | 2003-11-04 13:56:26 +0000 |
| commit | cf30f5e4d45512f0a87fb74a8e5868bbe690ac8e (patch) | |
| tree | 5d3ddc8473cc510a6e6966e3bed55d15214e6210 | |
| parent | 26c7b886242f2de495f118967724e75f567681c6 (diff) | |
Amelioration message d'erreur avec pretyping; prise en compte syntactic def dans Unfold
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@4788 85f007b7-540e-0410-9357-904b9bb8a0f7
| -rw-r--r-- | tactics/tacinterp.ml | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml index d57309a616..77518de856 100644 --- a/tactics/tacinterp.ml +++ b/tactics/tacinterp.ml @@ -456,9 +456,15 @@ let intern_evaluable ist = function (not !strict_check & find_hyp id ist) or find_ctxvar id ist -> ArgArg (EvalVarRef id, None) | r -> - let _,qid = qualid_of_reference r in + let loc,qid = qualid_of_reference r in try - let e = match Nametab.locate qid with + let ref = match Nametab.extended_locate qid with + | TrueGlobal ref -> ref + | SyntacticDef kn -> + match Syntax_def.search_syntactic_definition loc kn with + | RRef (_,ref) -> ref + | _ -> error_not_evaluable (pr_reference r) in + let e = match ref with | ConstRef c -> EvalConstRef c | VarRef c -> EvalVarRef c | _ -> error_not_evaluable (pr_reference r) in @@ -1087,7 +1093,7 @@ let interp_casted_constr ocl ist sigma env (c,ce) = let csr = match ce with | None -> - Pretyping.understand_gen sigma env tl1 ocl c + Pretyping.understand_gen_ltac sigma env (tl1,l2) ocl c (* If at toplevel (ce<>None), the error can be due to an incorrect context at globalization time: we retype with the now known intros/lettac/inversion hypothesis names *) |
