]> 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)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 30 Mar 2018 06:00:56 +0000 (23:00 -0700)
* src/editfns.c (save_restriction_restore):
Wait for the GC to free the temporary markers (Bug#30931).

src/editfns.c

index 7e35fe879728023a1798fe337b47f17f7ef1350d..727f2d0080c4ab7c1ecec476c135d7a404125b0d 100644 (file)
@@ -3899,9 +3899,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