Mercurial > emacs
changeset 9464:4bb620c9a075
(buffer_slot_type_mismatch): Take just the offset as argument. Only check
against types that are actually used.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Wed, 12 Oct 1994 05:14:30 +0000 |
parents | a40af805e036 |
children | ea2ee8bd3c63 |
files | src/buffer.c |
diffstat | 1 files changed, 7 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/buffer.c Wed Oct 12 05:14:11 1994 +0000 +++ b/src/buffer.c Wed Oct 12 05:14:30 1994 +0000 @@ -2424,32 +2424,26 @@ 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. */ void -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)) - ->name->data); + 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; default: 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 ()