Commit 54dfdeb0 authored by Karl Heuer's avatar Karl Heuer
Browse files

(buffer_slot_type_mismatch): Take just the offset as argument. Only check

against types that are actually used.
parent c8616056
......@@ -2424,32 +2424,26 @@ evaporate_overlays (pos)
Fdelete_overlay (XCONS (hit_list)->car);
/* Somebody has tried to store NEWVAL into the buffer-local slot with
offset XUINT (valcontents), and NEWVAL has an unacceptable type. */
/* Somebody has tried to store a value with an unacceptable type
into the buffer-local slot with offset OFFSET. */
buffer_slot_type_mismatch (valcontents, newval)
Lisp_Object valcontents, newval;
buffer_slot_type_mismatch (offset)
int offset;
unsigned int offset = XUINT (valcontents);
unsigned char *symbol_name =
(XSYMBOL (*(Lisp_Object *)(offset + (char *)&buffer_local_symbols))
Lisp_Object sym;
char *type_name;
sym = *(Lisp_Object *)(offset + (char *)&buffer_local_symbols);
switch (XINT (*(Lisp_Object *)(offset + (char *)&buffer_local_types)))
case Lisp_Int: type_name = "integers"; break;
case Lisp_String: type_name = "strings"; break;
case Lisp_Misc: type_name = "markers"; break;
case Lisp_Symbol: type_name = "symbols"; break;
case Lisp_Cons: type_name = "lists"; break;
case Lisp_Vector: type_name = "vectors"; break;
abort ();
error ("only %s should be stored in the buffer-local variable %s",
type_name, symbol_name);
type_name, XSYMBOL (sym)->name->data);
init_buffer_once ()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment