diff options
| author | Abhishek Anand (optiplex7010@home) | 2020-02-20 19:33:26 -0800 |
|---|---|---|
| committer | Hugo Herbelin | 2020-02-23 18:04:58 +0100 |
| commit | 0dc4b008c753fa4e20ea95630edea9e3e32c68c0 (patch) | |
| tree | 301eecfb333e42b3b0ac6e4a59ec4d4640e2b62d /printing | |
| parent | 92d2004cc678091370a91037943ca7953bbb5c5d (diff) | |
patched the print function
Diffstat (limited to 'printing')
| -rw-r--r-- | printing/ppconstr.ml | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/printing/ppconstr.ml b/printing/ppconstr.ml index c2d760ae08..65b4e238de 100644 --- a/printing/ppconstr.ml +++ b/printing/ppconstr.ml @@ -85,6 +85,7 @@ let tag_var = tag Tag.variable let env = ref terms and envlist = ref termlists and bl = ref binders and bll = ref binderlists in let pop r = let a = List.hd !r in r := List.tl !r; a in let return unp pp1 pp2 = (tag_unparsing unp pp1) ++ pp2 in + let parens = !Constrextern.print_coercions in (* Warning: The following function enforces a very precise order of evaluation of sub-components. @@ -95,7 +96,7 @@ let tag_var = tag Tag.variable | UnpMetaVar prec as unp :: l -> let c = pop env in let pp2 = aux l in - let pp1 = pr prec c in + let pp1 = pr (if parens then prec else LevelLe 0) c in return unp pp1 pp2 | UnpBinderMetaVar prec as unp :: l -> let c = pop bl in @@ -104,7 +105,7 @@ let tag_var = tag Tag.variable return unp pp1 pp2 | UnpListMetaVar (prec, sl) as unp :: l -> let cl = pop envlist in - let pp1 = prlist_with_sep (fun () -> aux sl) (pr prec) cl in + let pp1 = prlist_with_sep (fun () -> aux sl) (pr (if parens then prec else LevelLe 0)) cl in let pp2 = aux l in return unp pp1 pp2 | UnpBinderListMetaVar (isopen, sl) as unp :: l -> |
