BLOCK_INPUT;
__malloc_hook = old_malloc_hook;
- value = malloc (size);
+ value = (void *) malloc (size);
__malloc_hook = emacs_blocked_malloc;
UNBLOCK_INPUT;
BLOCK_INPUT;
__realloc_hook = old_realloc_hook;
- value = realloc (ptr, size);
+ value = (void *) realloc (ptr, size);
__realloc_hook = emacs_blocked_realloc;
UNBLOCK_INPUT;
{ if (!NULL_INTERVAL_P (i)) mark_interval_tree (i); }
/* The oddity in the call to XUNMARK is necessary because XUNMARK
- expands to an assigment to its argument, and most C compilers don't
+ expands to an assignment to its argument, and most C compilers don't
support casts on the left operand of `='. */
#define UNMARK_BALANCE_INTERVALS(i) \
{ \
if (gc_cons_threshold < 10000)
gc_cons_threshold = 10000;
- if (omessage)
+ if (omessage || minibuf_level > 0)
message1 (omessage);
else if (!noninteractive)
message1 ("Garbage collecting...done");
If the object referred to has not been seen yet, recursively mark
all the references contained in it.
- If the object referenced is a short string, the referrencing slot
+ If the object referenced is a short string, the referencing slot
is threaded into a chain of such slots, pointed to from
the `size' field of the string. The actual string size
lives in the last slot in the chain. We recognize the end
if (XMARKBIT (ptr->plist)) break;
XMARK (ptr->plist);
mark_object ((Lisp_Object *) &ptr->value);
+ if ((unsigned int) ptr <= 4)
+ abort ();
mark_object (&ptr->function);
+ if ((unsigned int) ptr <= 4)
+ abort ();
mark_object (&ptr->plist);
+ if ((unsigned int) ptr <= 4)
+ abort ();
XSETTYPE (*(Lisp_Object *) &ptr->name, Lisp_String);
mark_object (&ptr->name);
+ if ((unsigned int) ptr <= 4)
+ abort ();
ptr = ptr->next;
if (ptr)
{