diff options
| -rw-r--r-- | dev/base_include | 5 | ||||
| -rw-r--r-- | dev/top_printers.ml | 4 | ||||
| -rw-r--r-- | interp/constrextern.ml | 1 | ||||
| -rw-r--r-- | interp/constrextern.mli | 1 |
4 files changed, 10 insertions, 1 deletions
diff --git a/dev/base_include b/dev/base_include index d112596502..1c794a3ae9 100644 --- a/dev/base_include +++ b/dev/base_include @@ -199,6 +199,11 @@ let current_goal () = get_nth_goal 1;; let pf_e gl s = Constrintern.interp_constr (project gl) (pf_env gl) (parse_constr s);; +(* Set usual printing since the global env is available from the tracer *) +let _ = Constrextern.in_debugger := false +let _ = Constrextern.set_debug_global_reference_printer + (fun loc r -> Libnames.Qualid (loc,Nametab.shortest_qualid_of_global Idset.empty r));; + open Toplevel let go = loop diff --git a/dev/top_printers.ml b/dev/top_printers.ml index 3fc90761d1..3116cbf225 100644 --- a/dev/top_printers.ml +++ b/dev/top_printers.ml @@ -487,5 +487,9 @@ let short_string_of_ref loc = function [id_of_label (pi3 (repr_mind kn));id_of_string ("_"^string_of_int i)] (id_of_string ("_"^string_of_int j)) +(* Anticipate that printers can be used from ocamldebug and that + pretty-printer should not make calls to the global env since ocamldebug + runs in a different process and does not have the proper env at hand *) +let _ = Constrextern.in_debugger := true let _ = Constrextern.set_debug_global_reference_printer (if !rawdebug then raw_string_of_ref else short_string_of_ref) diff --git a/interp/constrextern.ml b/interp/constrextern.ml index bd8e78c0f5..b3810bb6d4 100644 --- a/interp/constrextern.ml +++ b/interp/constrextern.ml @@ -143,7 +143,6 @@ let debug_global_reference_printer = let in_debugger = ref false let set_debug_global_reference_printer f = - in_debugger := true; debug_global_reference_printer := f let extern_reference loc vars r = diff --git a/interp/constrextern.mli b/interp/constrextern.mli index e1fdd068b7..2a53eb85fe 100644 --- a/interp/constrextern.mli +++ b/interp/constrextern.mli @@ -53,6 +53,7 @@ val print_projections : bool ref (** Debug printing options *) val set_debug_global_reference_printer : (loc -> global_reference -> reference) -> unit +val in_debugger : bool ref (** This governs printing of implicit arguments. If [with_implicits] is on and not [with_arguments] then implicit args are printed prefixed |
