[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/buffer.c,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/src/buffer.c,v |
Date: |
Mon, 19 May 2008 18:38:56 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 08/05/19 18:38:55
Index: buffer.c
===================================================================
RCS file: /sources/emacs/emacs/src/buffer.c,v
retrieving revision 1.559
retrieving revision 1.560
diff -u -b -r1.559 -r1.560
--- buffer.c 14 May 2008 07:49:09 -0000 1.559
+++ buffer.c 19 May 2008 18:38:55 -0000 1.560
@@ -927,12 +927,14 @@
{
register struct buffer *buf;
register Lisp_Object result;
+ struct Lisp_Symbol *sym;
CHECK_SYMBOL (variable);
CHECK_BUFFER (buffer);
buf = XBUFFER (buffer);
- variable = indirect_variable (variable);
+ sym = indirect_variable (XSYMBOL (variable));
+ XSETSYMBOL (variable, sym);
/* Look in local_var_list */
result = Fassoc (variable, buf->local_var_alist);
@@ -969,7 +971,7 @@
Lisp_Object current_alist_element;
/* What binding is loaded right now? */
- valcontents = SYMBOL_VALUE (variable);
+ valcontents = sym->value;
current_alist_element
= XCAR (XBUFFER_LOCAL_VALUE (valcontents)->cdr);
@@ -4550,32 +4552,21 @@
in the slot with offset OFFSET. */
void
-buffer_slot_type_mismatch (sym, type)
- Lisp_Object sym;
+buffer_slot_type_mismatch (newval, type)
+ Lisp_Object newval;
int type;
{
- char *type_name;
+ Lisp_Object predicate;
switch (type)
{
- case Lisp_Int:
- type_name = "integers";
- break;
-
- case Lisp_String:
- type_name = "strings";
- break;
-
- case Lisp_Symbol:
- type_name = "symbols";
- break;
-
- default:
- abort ();
+ case Lisp_Int: predicate = Qintegerp; break;
+ case Lisp_String: predicate = Qstringp; break;
+ case Lisp_Symbol: predicate = Qsymbolp; break;
+ default: abort ();
}
- error ("Only %s should be stored in the buffer-local variable %s",
- type_name, SDATA (SYMBOL_NAME (sym)));
+ wrong_type_argument (predicate, newval);
}