aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/detyping.ml18
1 files changed, 11 insertions, 7 deletions
diff --git a/pretyping/detyping.ml b/pretyping/detyping.ml
index 722a0a2048..48f34e7c6b 100644
--- a/pretyping/detyping.ml
+++ b/pretyping/detyping.ml
@@ -744,9 +744,11 @@ let detype_level sigma l =
UNamed (detype_level_name sigma l)
let detype_instance sigma l =
- let l = EInstance.kind sigma l in
- if Univ.Instance.is_empty l then None
- else Some (List.map (detype_level sigma) (Array.to_list (Univ.Instance.to_array l)))
+ if not !print_universes then None
+ else
+ let l = EInstance.kind sigma l in
+ if Univ.Instance.is_empty l then None
+ else Some (List.map (detype_level sigma) (Array.to_list (Univ.Instance.to_array l)))
let delay (type a) (d : a delay) (f : a delay -> _ -> _ -> _ -> _ -> _ -> a glob_constr_r) flags env avoid sigma t : a glob_constr_g =
match d with
@@ -928,10 +930,12 @@ and detype_binder d flags bk avoid env sigma decl c =
let c = detype d { flags with flg_isgoal = false } avoid env sigma (Option.get body) in
(* Heuristic: we display the type if in Prop *)
let s =
- (* It can fail if ty is an evar, or if run inside ocamldebug or the
- OCaml toplevel since their printers don't have access to the proper sigma/env *)
- try Retyping.get_sort_family_of (snd env) sigma ty
- with Retyping.RetypeError _ -> InType
+ if !Flags.in_debugger then InType
+ else
+ (* It can fail if ty is an evar, or if run inside ocamldebug or the
+ OCaml toplevel since their printers don't have access to the proper sigma/env *)
+ try Retyping.get_sort_family_of (snd env) sigma ty
+ with Retyping.RetypeError _ -> InType
in
let t = if s != InProp && not !Flags.raw_print then None else Some (detype d { flags with flg_isgoal = false } avoid env sigma ty) in
GLetIn (na', c, t, r)