Am Mittwoch, den 23.09.2015, 12:25 +0200 schrieb Emilio Jesús Gallego Arias: > Hi Alan, > > Alan Schmitt writes: > > > Thanks a lot for this suggestion. Unfortunately it does not seem to work > > in the toplevel: it’s as if the toplevel was not using > > Format.std_formatter for its output. I don’t know how to get hold of the > > formatter used in the toplevel to change its options… > > Oh I see, indeed the particular problem here seems that typing errors > are first formatted to a fresh buffer formatter, which won't inherit > stderr's margin. > > The code seems to have changed in the last months (likely due to color > support), but the corresponding code in trunk is at parsing/location.ml:335. > > Indeed, this little hack works for me(TM): > > 8<--------------------------------------------------------------------8< > Index: parsing/location.ml > =================================================================== > --- parsing/location.ml (revision 16441) > +++ parsing/location.ml (working copy) > @@ -333,6 +333,7 @@ > let pp_ksprintf ?before k fmt = > let buf = Buffer.create 64 in > let ppf = Format.formatter_of_buffer buf in > + Format.pp_set_margin ppf (200 + 1); > Misc.Color.set_color_tag_handling ppf; > begin match before with > | None -> () > 8<--------------------------------------------------------------------8< > > I don't know what would be the proper way to integrate it upstream. Maybe to propagate the margin? Format.pp_set_margin ppf (Format.pp_get_margin Format.std_formatter()) Don't know whether std_formatter or err_formatter is the right one. Gerd > Best regards, > Emilio > > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany gerd@gerd-stolpmann.de My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------