aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorKaroly Lorentey2004-09-16 13:09:53 +0000
committerKaroly Lorentey2004-09-16 13:09:53 +0000
commit98a92e2d7b1f9993215dd4db3d5810586b3da7d3 (patch)
tree36549b6c7ca6056a0e3b5fd72264160953b23f15 /src/alloc.c
parentaeeb70757cd8c57689a1b3238e9b25a2d422e38f (diff)
parent113e270a241bcabe4aae4eb13f0ceb62744ec1f4 (diff)
downloademacs-98a92e2d7b1f9993215dd4db3d5810586b3da7d3.tar.gz
emacs-98a92e2d7b1f9993215dd4db3d5810586b3da7d3.zip
Merged in changes from CVS trunk.
Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-547 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-548 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-549 Use symbol-matching for generic-mode keywords * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-550 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-551 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-246
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/alloc.c b/src/alloc.c
index e1fadc155f6..12e673495c3 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
@@ -4455,6 +4455,21 @@ returns nil, because real GC can't be done. */)
4455 for (i = 0; i < staticidx; i++) 4455 for (i = 0; i < staticidx; i++)
4456 mark_object (*staticvec[i]); 4456 mark_object (*staticvec[i]);
4457 4457
4458 for (bind = specpdl; bind != specpdl_ptr; bind++)
4459 {
4460 mark_object (bind->symbol);
4461 mark_object (bind->old_value);
4462 }
4463 mark_kboards ();
4464 mark_ttys ();
4465
4466#ifdef USE_GTK
4467 {
4468 extern void xg_mark_data ();
4469 xg_mark_data ();
4470 }
4471#endif
4472
4458#if (GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS \ 4473#if (GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS \
4459 || GC_MARK_STACK == GC_MARK_STACK_CHECK_GCPROS) 4474 || GC_MARK_STACK == GC_MARK_STACK_CHECK_GCPROS)
4460 mark_stack (); 4475 mark_stack ();
@@ -4468,11 +4483,6 @@ returns nil, because real GC can't be done. */)
4468#endif 4483#endif
4469 4484
4470 mark_byte_stack (); 4485 mark_byte_stack ();
4471 for (bind = specpdl; bind != specpdl_ptr; bind++)
4472 {
4473 mark_object (bind->symbol);
4474 mark_object (bind->old_value);
4475 }
4476 for (catch = catchlist; catch; catch = catch->next) 4486 for (catch = catchlist; catch; catch = catch->next)
4477 { 4487 {
4478 mark_object (catch->tag); 4488 mark_object (catch->tag);
@@ -4484,20 +4494,11 @@ returns nil, because real GC can't be done. */)
4484 mark_object (handler->var); 4494 mark_object (handler->var);
4485 } 4495 }
4486 mark_backtrace (); 4496 mark_backtrace ();
4487 mark_kboards ();
4488 mark_ttys ();
4489 4497
4490#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES 4498#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES
4491 mark_stack (); 4499 mark_stack ();
4492#endif 4500#endif
4493 4501
4494#ifdef USE_GTK
4495 {
4496 extern void xg_mark_data ();
4497 xg_mark_data ();
4498 }
4499#endif
4500
4501 /* Everything is now marked, except for the things that require special 4502 /* Everything is now marked, except for the things that require special
4502 finalization, i.e. the undo_list. 4503 finalization, i.e. the undo_list.
4503 Look thru every buffer's undo list 4504 Look thru every buffer's undo list