On Wed, Mar 11, 2020 at 12:14 PM Ludovic Courtès wrote: > Hi, > > skribis: > > > On Tue, Mar 10, 2020 at 11:05:24AM +0100, Jan Synacek wrote: > >> I have the following backtrace: > >> > >> Backtrace: > >> In ice-9/boot-9.scm: > >> 1736:10 9 (with-exception-handler _ _ #:unwind? _ # _) > >> In unknown file: > >> 8 (apply-smob/0 #) > >> In ice-9/boot-9.scm: > >> 718:2 7 (call-with-prompt _ _ #) > >> In ice-9/eval.scm: > >> 619:8 6 (_ #(#(#))) > >> In ice-9/boot-9.scm: > >> 2806:4 5 (save-module-excursion _) > >> 4351:12 4 (_) > >> In /home/jsynacek/./git.scm: > >> 72:0 3 (_) > >> 61:16 2 (change-spec _ _ "66.33" _ #) > >> 48:12 1 (change-release "# We ship a .pc file but don't want t…" …) > >> In unknown file: > >> 0 (make-regexp "^Release:(\\s*).*$" "# We ship a .pc fil…" …) > >> > >> ERROR: In procedure make-regexp: > >> Wrong type (expecting exact integer): " > >> > >> " > >> > >> While this is probably not considered an error, I guess it might be > better > >> to ellipsize strings in errors such is mine that are over a certain > length > >> long. The important part of the backtrace was scrolled away and I got > >> confused about the string, as I thought it was part of the output and > >> started wondering why (display ...) keeps the escaped newlines in the > >> string. > > > > Some want it, some want it not. I remember a couple of discussions > > in guile-user and guile-devel about this topic. > > > > Have you tried setting debug options `width' and/or `depth' (cf. > procedure > > `debug-options')? > > > > (my current defaults are 79 columns/20 rows, this is Guile 3.0). > > The backtrace itself is ellipsized, but the value displayed in the > exception (the long string above) is not. > > I would rather not ellipsize anything in the exception itself. > > Thoughts? > It would be nice if this was configurable. As Tomas pointed out this kind of thing can be a matter of taste. Also, if debugging some specific problem involving large strings it might be convenient to switch on for anyone. There could be a debug-option (see (debug-options '?)) `exception-width' (similar to `width' but for errors and exceptions). But how is the debug-options interface regarded nowadays? Is it going to be deprecated? I notice that the `width' option doesn't seem to have an effect anymore. Looking into backtrace.c and (system repl debug) the width nowadays rather seems to be controlled by the terminal width only. Best regards, Mikael