]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix CHECK_ALLOCATED_AND_LIVE abort during GC
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 30 Mar 2018 06:00:23 +0000 (23:00 -0700)
committerNoam Postavsky <npostavs@gmail.com>
Sun, 3 Jun 2018 01:18:45 +0000 (21:18 -0400)
* src/editfns.c (save_restriction_restore):
Wait for the GC to free the temporary markers (Bug#30931).

(cherry picked from commit 670f2ffae718046c0fb37313965a51c040ed096f)

src/editfns.c

index d0ccdbddc2913921a51a5965143cba8daecf0095..3fc08f9d202683f8f8185304a400d753872fa008 100644 (file)
@@ -3876,9 +3876,10 @@ save_restriction_restore (Lisp_Object data)
 
          buf->clip_changed = 1; /* Remember that the narrowing changed. */
        }
-      /* These aren't needed anymore, so don't wait for GC.  */
-      free_marker (XCAR (data));
-      free_marker (XCDR (data));
+      /* This isn’t needed anymore, so don’t wait for GC.
+         Do not call free_marker on XCAR (data) or XCDR (data),
+         though, since record_marker_adjustments may have put
+         them on the buffer’s undo list (Bug#30931).  */
       free_cons (XCONS (data));
     }
   else