Subject: Backtraces can contain very long strings

From: Jan Synacek <[email-masked]>
Date: Tue, 10 Mar 2020 11:05:24 +0100

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 #<thunk 651b40>)
In ice-9/boot-9.scm:
    718:2  7 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
    619:8  6 (_ #(#(#<directory (guile-user) 74cf00>)))
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" _ #<output: file 1>)
    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): "
<HERE COMES A LOOOONG STRING WHICH IS ABOUT 193000 CHARACTERS WIDE>
"

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.

If this is not considered a bug, please, at least consider it an RFE.

-- 
Jan Synacek
Software Engineer, Red Hat