[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#56773: 29.0.50; (readablep UNREADABLE) causes strange things
From: |
Lars Ingebrigtsen |
Subject: |
bug#56773: 29.0.50; (readablep UNREADABLE) causes strange things |
Date: |
Tue, 26 Jul 2022 14:44:31 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
> unwind_protect?
Where would the unwind_protect be?
The problem is here:
if (!NILP (Vprint_unreadable_function)
&& FUNCTIONP (Vprint_unreadable_function))
{
specpdl_ref count = SPECPDL_INDEX ();
/* Bind `print-unreadable-function' to nil to avoid accidental
infinite recursion in the function called. */
Lisp_Object func = Vprint_unreadable_function;
specbind (Qprint_unreadable_function, Qnil);
Lisp_Object result = CALLN (Ffuncall, func, obj,
escapeflag? Qt: Qnil);
We need to switch back to the original buffer before that Ffuncall, but
we don't know what the original function was -- it's just stored in a
local variable in prin1(-to-string).
bug#56773: 29.0.50; (readablep UNREADABLE) causes strange things, Po Lu, 2022/07/27