diff src/lisp.h @ 95112:0835cb21d60e

* lisp.h (indirect_variable): * data.c (indirect_variable, let_shadows_buffer_binding_p): Use Lisp_Symbol pointers rather than Lisp_Object. Adjust callers. * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument. To this end, change calling-convention.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 19 May 2008 18:38:55 +0000
parents 29adfc9354e7
children b8f0e53854e1
line wrap: on
line diff
--- a/src/lisp.h	Mon May 19 16:29:33 2008 +0000
+++ b/src/lisp.h	Mon May 19 18:38:55 2008 +0000
@@ -993,7 +993,7 @@
 
 #define SYMBOL_VALUE(sym)			\
    (XSYMBOL (sym)->indirect_variable		\
-    ? XSYMBOL (indirect_variable (sym))->value	\
+    ? indirect_variable (XSYMBOL (sym))->value	\
     : XSYMBOL (sym)->value)
 
 /* Set SYM's value to VAL, taking defvaralias into account.  */
@@ -1001,7 +1001,7 @@
 #define SET_SYMBOL_VALUE(sym, val)				\
      do {							\
        if (XSYMBOL (sym)->indirect_variable)			\
-	 XSYMBOL (indirect_variable ((sym)))->value = (val);	\
+	 indirect_variable (XSYMBOL (sym))->value = (val);	\
        else							\
 	 XSYMBOL (sym)->value = (val);				\
      } while (0)
@@ -2263,7 +2263,7 @@
 EXFUN (Fsub1, 1);
 EXFUN (Fmake_variable_buffer_local, 1);
 
-extern Lisp_Object indirect_variable P_ ((Lisp_Object));
+extern struct Lisp_Symbol *indirect_variable (struct Lisp_Symbol *);
 extern Lisp_Object long_to_cons P_ ((unsigned long));
 extern unsigned long cons_to_long P_ ((Lisp_Object));
 extern void args_out_of_range P_ ((Lisp_Object, Lisp_Object)) NO_RETURN;