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

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

bug#61504: 29.0.60; executing byte-code from previous build causes SIGSE


From: Gregory Heytings
Subject: bug#61504: 29.0.60; executing byte-code from previous build causes SIGSEGV crash
Date: Tue, 14 Feb 2023 16:00:35 +0000



Looks right to me.


Many thanks for your review!

@@ -940,10 +940,9 @@ #define DEFINE(name, value) [name] = &&insn_ ## name,
          }

        CASE (Bsave_restriction):
-         record_unwind_protect (save_restriction_restore,
-                                save_restriction_save ());
-         record_unwind_protect (narrowing_locks_restore,
-                                narrowing_locks_save ());
+         record_unwind_protect (save_restriction_and_narrowing_locks_restore,
+                                Fcons (save_restriction_save (),
+                                       narrowing_locks_save ()));
          NEXT;

Shouldn't the value returned by `save_restriction_save` include the narrowing locks already?

IOW rather than changing this `bytecode.c` code, the locks handling should be "hidden" inside `save_restriction_restore` and `save_restriction_save`, don't you think?


You mean, the attached patch? That's probably even better, indeed. (Again it passes make and make check, with and without native compilation.)

Attachment: Improve-backward-compatibility-of-save-restriction.patch
Description: Text Data


reply via email to

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