diff options
-rw-r--r-- | interp/constrextern.ml | 7 | ||||
-rw-r--r-- | toplevel/vernacentries.ml | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/interp/constrextern.ml b/interp/constrextern.ml index ea17a9fba..1be3b805a 100644 --- a/interp/constrextern.ml +++ b/interp/constrextern.ml @@ -57,6 +57,9 @@ let print_universes = ref false (* This suppresses printing of numeral and symbols *) let print_no_symbol = ref false +(* This governs printing of projections using the dot notation symbols *) +let print_projections = ref false + let print_meta_as_hole = ref false let with_arguments f = Options.with_option print_arguments f @@ -465,12 +468,12 @@ let occur_name na aty = | Anonymous -> false let is_projection nargs = function - | Some r -> + | Some r when !print_projections -> (try let n = Recordops.find_projection_nparams r + 1 in if n <= nargs then Some n else None with Not_found -> None) - | None -> None + | _ -> None let stdlib = function | Some r -> diff --git a/toplevel/vernacentries.ml b/toplevel/vernacentries.ml index b9150a30e..3f979d9b1 100644 --- a/toplevel/vernacentries.ml +++ b/toplevel/vernacentries.ml @@ -722,6 +722,14 @@ let _ = let _ = declare_bool_option { optsync = true; + optname = "projection printing using dot notation"; + optkey = (SecondaryTable ("Printing","Projections")); + optread = (fun () -> !Constrextern.print_projections); + optwrite = (fun b -> Constrextern.print_projections := b) } + +let _ = + declare_bool_option + { optsync = true; optname = "symbols printing"; optkey = (SecondaryTable ("Printing",if !Options.v7 then "Symbols" else "Notations")); optread = (fun () -> not !Constrextern.print_no_symbol); |