Subject: bug#25295: Represent eieio objects using object-print in backtraces and edebug

From: Stefan Monnier <[email-masked]>
Date: Wed, 22 Feb 2017 14:08:28 -0500

> Most of the time, the speed of printing is not important.
> But I suspect there are cases where people print a lot of data
> and the speed of printing is crucial.

Indeed.  I know `C-h v load-history` is often sluggish, for example,
because of the size of the value.

I've been trying my cl-print code and the speed is clearly inferior to
the C code, but at least in the case of C-h v the main slowdown comes
from the prettifying step that happens after printing (where we insert
newlines and indent the result), so while it gets measurably slower, the
impact might be tolerable.

Clearly, for cases such as when the byte-compiler wants to print the
result into a .elc file, or when we want to save an undo-log in a file,
speed will be very important and my cl-print is unlikely to be
good enough.  That's why I was suggesting that maybe we should have
2 printers: a fast one in C for the `print-readably` case, and
a slower but customizable one in Elisp for "human consumption".

        Stefan