From: Stefan Monnier Date: Tue, 18 May 2004 16:22:46 +0000 (+0000) Subject: (Fgarbage_collect): Do all the marking before flushing X-Git-Tag: ttn-vms-21-2-B4~6156 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=74c35a48a74ba1e57f39100d030b8e299860494e;p=emacs.git (Fgarbage_collect): Do all the marking before flushing unmarked elements of the undo list. --- diff --git a/src/alloc.c b/src/alloc.c index c38376d80bc..3dc21ca30e0 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -4465,6 +4465,17 @@ returns nil, because real GC can't be done. */) } mark_kboards (); +#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES + mark_stack (); +#endif + +#ifdef USE_GTK + { + extern void xg_mark_data (); + xg_mark_data (); + } +#endif + /* Look thru every buffer's undo list for elements that update markers that were not marked, and delete them. */ @@ -4508,17 +4519,6 @@ returns nil, because real GC can't be done. */) } } -#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES - mark_stack (); -#endif - -#ifdef USE_GTK - { - extern void xg_mark_data (); - xg_mark_data (); - } -#endif - gc_sweep (); /* Clear the mark bits that we set in certain root slots. */