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 ()