bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#67141: 30.0.50; Missing element in the backtrace


From: Stefan Monnier
Subject: bug#67141: 30.0.50; Missing element in the backtrace
Date: Mon, 20 Nov 2023 12:52:27 -0500
User-agent: Gnus/5.13 (Gnus v5.13)

> If you want then I think we should consider this bug not only native
> comp related, as I explained we have this issue since long time in
> other circumstances.

I think it's qualitatively different, but yes, this is not the only
occurrence of the problem.  AFAICT, we have 3 different cases:

A. Native compiled code making a "direct call" to a C primitive.
B. ELisp primitives with their own bytecode.
C. C code calling `Ffoo` instead of `Ffuncall (Qfoo, ...)`.

(B) and (C) have been with us for ever.  They also suffer from being
unaffected by advice.  (A) on the other hand is new, but obeys advice.

I think (C) is qualitatively very different from (A) because
(C) can be fixed by hand whenever we decide that it's a problem,
i.e. whenever we decide that the fact that the code calls exactly
`foo` (as opposed to some other code with similar behavior) shouldn't
be seen as an internal implementation detail.

Similarly B is qualitatively different from (A) because (B) applies only
to a small set of primitives.

(B) is more annoying than (C), admittedly, since it occurs fairly often
in a backtrace that we'd like to have a better idea of where we are
inside a byte-compiled function.  I'd welcome improvement in this area
(maybe by looking at the (bytecode)PC, then disassembling the bytecode
at that position to find the primitive that we're executing).


        Stefan






reply via email to

[Prev in Thread] Current Thread [Next in Thread]