From 31e780a275af0ad4be10a61b0096b8f5be38b6d3 Mon Sep 17 00:00:00 2001 From: Arnaud Spiwack Date: Wed, 6 Aug 2014 15:06:17 +0200 Subject: [uconstr]: use a closure instead of eager substitution. This avoids relying on detyping. As Matthieu Sozeau pointed out to me, [understand∘detyping] has no reason to be the identity. This may create surprising behaviour some times (when a detyped term loses its relations to the current context, in particular in terms of universes), and downright incompatibilities in the case of refine. As a bonus this should be a faster implementation of [uconstr] with a leaner memory profile.--- toplevel/himsg.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'toplevel') diff --git a/toplevel/himsg.ml b/toplevel/himsg.ml index b66a246539..7c42d7a8f5 100644 --- a/toplevel/himsg.ml +++ b/toplevel/himsg.ml @@ -1173,7 +1173,7 @@ let explain_ltac_call_trace last trace loc = | Proof_type.LtacAtomCall te -> quote (Pptactic.pr_glob_tactic (Global.env()) (Tacexpr.TacAtom (Loc.ghost,te))) - | Proof_type.LtacConstrInterp (c,(vars,unboundvars)) -> + | Proof_type.LtacConstrInterp (c,(vars,_,unboundvars)) -> quote (pr_glob_constr_env (Global.env()) c) ++ (if not (Id.Map.is_empty vars) then strbrk " (with " ++ -- cgit v1.2.3