aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 567b8c7a925..4b31ec7897e 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -1,6 +1,6 @@
1/* Storage allocation and gc for GNU Emacs Lisp interpreter. 1/* Storage allocation and gc for GNU Emacs Lisp interpreter.
2 Copyright (C) 1985,86,88,93,94,95,97,98,1999,2000,01,02,03,2004 2 Copyright (C) 1985, 1986, 1988, 1993, 1994, 1995, 1997, 1998, 1999,
3 Free Software Foundation, Inc. 3 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
4 4
5This file is part of GNU Emacs. 5This file is part of GNU Emacs.
6 6
@@ -4411,6 +4411,20 @@ returns nil, because real GC can't be done. */)
4411 for (i = 0; i < staticidx; i++) 4411 for (i = 0; i < staticidx; i++)
4412 mark_object (*staticvec[i]); 4412 mark_object (*staticvec[i]);
4413 4413
4414 for (bind = specpdl; bind != specpdl_ptr; bind++)
4415 {
4416 mark_object (bind->symbol);
4417 mark_object (bind->old_value);
4418 }
4419 mark_kboards ();
4420
4421#ifdef USE_GTK
4422 {
4423 extern void xg_mark_data ();
4424 xg_mark_data ();
4425 }
4426#endif
4427
4414#if (GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS \ 4428#if (GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS \
4415 || GC_MARK_STACK == GC_MARK_STACK_CHECK_GCPROS) 4429 || GC_MARK_STACK == GC_MARK_STACK_CHECK_GCPROS)
4416 mark_stack (); 4430 mark_stack ();
@@ -4424,11 +4438,6 @@ returns nil, because real GC can't be done. */)
4424#endif 4438#endif
4425 4439
4426 mark_byte_stack (); 4440 mark_byte_stack ();
4427 for (bind = specpdl; bind != specpdl_ptr; bind++)
4428 {
4429 mark_object (bind->symbol);
4430 mark_object (bind->old_value);
4431 }
4432 for (catch = catchlist; catch; catch = catch->next) 4441 for (catch = catchlist; catch; catch = catch->next)
4433 { 4442 {
4434 mark_object (catch->tag); 4443 mark_object (catch->tag);
@@ -4440,19 +4449,11 @@ returns nil, because real GC can't be done. */)
4440 mark_object (handler->var); 4449 mark_object (handler->var);
4441 } 4450 }
4442 mark_backtrace (); 4451 mark_backtrace ();
4443 mark_kboards ();
4444 4452
4445#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES 4453#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES
4446 mark_stack (); 4454 mark_stack ();
4447#endif 4455#endif
4448 4456
4449#ifdef USE_GTK
4450 {
4451 extern void xg_mark_data ();
4452 xg_mark_data ();
4453 }
4454#endif
4455
4456 /* Everything is now marked, except for the things that require special 4457 /* Everything is now marked, except for the things that require special
4457 finalization, i.e. the undo_list. 4458 finalization, i.e. the undo_list.
4458 Look thru every buffer's undo list 4459 Look thru every buffer's undo list