=== modified file 'src/alloc.c' --- src/alloc.c 2014-04-03 00:37:51 +0000 +++ src/alloc.c 2014-04-03 06:42:53 +0000 @@ -6174,6 +6174,11 @@ break; CHECK_ALLOCATED_AND_LIVE (live_symbol_p); ptr->gcmarkbit = 1; + /* Attempt to catch bogus objects. */ + eassert (SYMBOLP (ptr->function) + || CONSP (ptr->function) + || COMPILEDP (ptr->function) + || SUBRP (ptr->function)); mark_object (ptr->function); mark_object (ptr->plist); switch (ptr->redirect) @@ -6601,6 +6606,11 @@ if (!pure_p) eassert (!STRING_MARKED_P (XSTRING (sym->s.name))); sym->s.gcmarkbit = 0; + /* Attempt to catch bogus objects. */ + eassert (SYMBOLP (sym->s.function) + || CONSP (sym->s.function) + || COMPILEDP (sym->s.function) + || SUBRP (sym->s.function)); } }