aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorStefan Monnier2004-05-18 16:22:46 +0000
committerStefan Monnier2004-05-18 16:22:46 +0000
commit74c35a48a74ba1e57f39100d030b8e299860494e (patch)
treeb3668ab4d6050839ff0f46da88f8c573d07e2fa7 /src/alloc.c
parent4d0b9a0a45e14e5612a40c93063cab7842645557 (diff)
downloademacs-74c35a48a74ba1e57f39100d030b8e299860494e.tar.gz
emacs-74c35a48a74ba1e57f39100d030b8e299860494e.zip
(Fgarbage_collect): Do all the marking before flushing
unmarked elements of the undo list.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c22
1 files changed, 11 insertions, 11 deletions
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. */)
4465 } 4465 }
4466 mark_kboards (); 4466 mark_kboards ();
4467 4467
4468#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES
4469 mark_stack ();
4470#endif
4471
4472#ifdef USE_GTK
4473 {
4474 extern void xg_mark_data ();
4475 xg_mark_data ();
4476 }
4477#endif
4478
4468 /* Look thru every buffer's undo list 4479 /* Look thru every buffer's undo list
4469 for elements that update markers that were not marked, 4480 for elements that update markers that were not marked,
4470 and delete them. */ 4481 and delete them. */
@@ -4508,17 +4519,6 @@ returns nil, because real GC can't be done. */)
4508 } 4519 }
4509 } 4520 }
4510 4521
4511#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES
4512 mark_stack ();
4513#endif
4514
4515#ifdef USE_GTK
4516 {
4517 extern void xg_mark_data ();
4518 xg_mark_data ();
4519 }
4520#endif
4521
4522 gc_sweep (); 4522 gc_sweep ();
4523 4523
4524 /* Clear the mark bits that we set in certain root slots. */ 4524 /* Clear the mark bits that we set in certain root slots. */