# HG changeset patch # User Stefan Monnier # Date 1084897366 0 # Node ID 57f4a242e8f4bd324dc73a89de3a15d5aca0ea44 # Parent c608b21fae2667051b51c86e1c267da3dca4754b (Fgarbage_collect): Do all the marking before flushing unmarked elements of the undo list. diff -r c608b21fae26 -r 57f4a242e8f4 src/alloc.c --- a/src/alloc.c Tue May 18 13:52:57 2004 +0000 +++ b/src/alloc.c Tue May 18 16:22:46 2004 +0000 @@ -4465,6 +4465,17 @@ } 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 @@ } } -#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. */