diff src/data.c @ 85594:237166b2d28f

(Fmake_variable_buffer_local, Fmake_local_variable) (Fmake_variable_frame_local): Just check the variable's const-ness rather than checking nil or t.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 23 Oct 2007 20:56:27 +0000
parents d0d527210b0c
children 8743273c407c 4bc33ffdda1a
line wrap: on
line diff
--- a/src/data.c	Tue Oct 23 17:41:15 2007 +0000
+++ b/src/data.c	Tue Oct 23 20:56:27 2007 +0000
@@ -1521,7 +1521,7 @@
   variable = indirect_variable (variable);
 
   valcontents = SYMBOL_VALUE (variable);
-  if (EQ (variable, Qnil) || EQ (variable, Qt) || KBOARD_OBJFWDP (valcontents))
+  if (XSYMBOL (variable)->constant || KBOARD_OBJFWDP (valcontents))
     error ("Symbol %s may not be buffer-local", SDATA (SYMBOL_NAME (variable)));
 
   if (BUFFER_OBJFWDP (valcontents))
@@ -1578,7 +1578,7 @@
   variable = indirect_variable (variable);
 
   valcontents = SYMBOL_VALUE (variable);
-  if (EQ (variable, Qnil) || EQ (variable, Qt) || KBOARD_OBJFWDP (valcontents))
+  if (XSYMBOL (variable)->constant || KBOARD_OBJFWDP (valcontents))
     error ("Symbol %s may not be buffer-local", SDATA (SYMBOL_NAME (variable)));
 
   if ((BUFFER_LOCAL_VALUEP (valcontents)
@@ -1733,7 +1733,7 @@
   variable = indirect_variable (variable);
 
   valcontents = SYMBOL_VALUE (variable);
-  if (EQ (variable, Qnil) || EQ (variable, Qt) || KBOARD_OBJFWDP (valcontents)
+  if (XSYMBOL (variable)->constant || KBOARD_OBJFWDP (valcontents)
       || BUFFER_OBJFWDP (valcontents))
     error ("Symbol %s may not be frame-local", SDATA (SYMBOL_NAME (variable)));