1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-05 11:21:04 -08:00

Merge from trunk

This commit is contained in:
Stefan Monnier 2010-12-10 19:13:08 -05:00
commit 2c302df3a1
661 changed files with 39448 additions and 23155 deletions

View file

@ -351,7 +351,6 @@ enum mem_type
static POINTER_TYPE *lisp_align_malloc (size_t, enum mem_type);
static POINTER_TYPE *lisp_malloc (size_t, enum mem_type);
void refill_memory_reserve (void);
#if GC_MARK_STACK || defined GC_MALLOC_CHECK
@ -4043,8 +4042,14 @@ DEFUN ("gc-status", Fgc_status, Sgc_status, 0, 0, "",
static INLINE void
mark_maybe_object (Lisp_Object obj)
{
void *po = (void *) XPNTR (obj);
struct mem_node *m = mem_find (po);
void *po;
struct mem_node *m;
if (INTEGERP (obj))
return;
po = (void *) XPNTR (obj);
m = mem_find (po);
if (m != MEM_NIL)
{
@ -5694,13 +5699,14 @@ mark_terminals (void)
for (t = terminal_list; t; t = t->next_terminal)
{
eassert (t->name != NULL);
if (!VECTOR_MARKED_P (t))
{
#ifdef HAVE_WINDOW_SYSTEM
mark_image_cache (t->image_cache);
/* If a terminal object is reachable from a stacpro'ed object,
it might have been marked already. Make sure the image cache
gets marked. */
mark_image_cache (t->image_cache);
#endif /* HAVE_WINDOW_SYSTEM */
mark_vectorlike ((struct Lisp_Vector *)t);
}
if (!VECTOR_MARKED_P (t))
mark_vectorlike ((struct Lisp_Vector *)t);
}
}