[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61847: debug-early-backtrace only works some of the time.
From: |
Eli Zaretskii |
Subject: |
bug#61847: debug-early-backtrace only works some of the time. |
Date: |
Wed, 01 Mar 2023 18:01:24 +0200 |
> Date: Wed, 1 Mar 2023 15:22:29 +0000
> Cc: monnier@iro.umontreal.ca, 61847@debbugs.gnu.org
> From: Alan Mackenzie <acm@muc.de>
>
> > And what use is the meaningless stream of raw bytes that prin1
> > produces?
>
> If that were indeed what was produced, none at all. Because
> debug-early-backtrace binds print-escape-control-characters to t, what
> actually gets produced is a mixture of ascii characters and octal
> escaped representations, just like you see when an .elc file is visited
> in Emacs.
Escaping raw bytes doesn't make them more comprehensible.
> > I think you should re-evaluate your preferences, and base them on real
> > advantages and disadvantages, not on imaginary ones.
>
> What makes you think I'm not doing this already? I wrote debug-early
> last year because I _needed_ it. I've a lot of experience using it, and
> the way it prints (or rather used to print) a compiled function is/was
> useful.
For you, maybe. Not for me. For me it's a nuisance. A useless waste
of screen estate.
> You can see how many arguments it takes.
That information exists elsewhere.
> You can see the byte code string, hence enabling you to compare it
> visually with the contents of a .elc file, should such already
> exist.
Let's be serious, okay?
> > If we want our backtraces to be more informative, not less, we should
> > move farther away of "dumb" output functions that just spill the guts
> > and towards more humanly-readable formatted description of the called
> > functions.
>
> A wholesome long term goal I fully agree with. For the here and now,
> outputting "#f(compiled-function () <random hex address>" and nothing
> else is not a step in that direction.
But using cl-prin1 _is_ a step in the right direction, because it
allows us to extend the feature. And that is why I said that if
loading Lisp breaks something in debug-early, we should solve this
_now_, not fall back on prin1, which by its very nature cannot be
extended so easily.
> Besides, the idea of debug-early is to generate a backtrace before all
> the fancy Lisp facilities are available.
Some fancy Lisp facilities are already available anyway. And I see no
reason for this requirement in this case.
bug#61847: debug-early-backtrace only works some of the time., Stefan Monnier, 2023/03/01