GNU bug report logs -
#67141
30.0.50; Missing element in the backtrace
Previous Next
Full log
View this message in rfc822 format
Andrea Corallo <acorallo <at> gnu.org> writes:
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
>>> Date: Sun, 12 Nov 2023 17:29:27 -0500
>>> From: Stefan Monnier via "Bug reports for GNU Emacs,
>>> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>>>
>>> Package: Emacs
>>> Version: 30.0.50
>>>
>>>
>>> emacs -Q
>>> (this is an unquoted list)
>>> C-j
>>>
>>> Gives me:
>>>
>>> Debugger entered--Lisp error: (void-function this)
>>> (this is an unquoted list)
>>> (progn (this is an unquoted list))
>>> elisp--eval-last-sexp(t)
>>> eval-last-sexp(t)
>>> eval-print-last-sexp(nil)
>>> funcall-interactively(eval-print-last-sexp nil)
>>> command-execute(eval-print-last-sexp)
>>>
>>> But `elisp--eval-last-sexp` doesn't directly run that `progn`.
>>> Instead it calls `eval` to do so. Where did `eval` go?
>>>
>>> I see this both in Debian's Emacs-28,2 as well as on `master`.
>>> In both cases, this is using the native compiler.
>>> I have a local Emacs with various patches but without using the native
>>> compiler and the problem doesn't appear there.
>>> So my crystal ball pointed their pointy finger at the native code compiler.
>>
>> Adding Andrea.
>
> Thanks,
>
> mmmh, my crystal ball suggests that some (native compiled) code is
> calling directly a primitive (eval) without going through funcall, as a
> consequence no backtrace is recorded. AFAIR that's what happen with
> byte compiled code with primitves with assigned (byte)op-code as well.
PS and indeed similarly what happen calling a primitive from other C
code.
Andrea
This bug report was last modified 1 year and 262 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.