]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fmake_variable_buffer_local, Fmake_local_variable)
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 23 Oct 2007 20:56:27 +0000 (20:56 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 23 Oct 2007 20:56:27 +0000 (20:56 +0000)
(Fmake_variable_frame_local): Just check the variable's const-ness
rather than checking nil or t.

src/ChangeLog
src/data.c

index 15916fae821746f7894d0d5a8024d289600358dd..3da07722a7abafd6fa73d90af60eaa1885dece0a 100644 (file)
@@ -1,3 +1,9 @@
+2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
+       (Fmake_variable_frame_local): Just check the variable's const-ness
+       rather than checking nil or t.
+
 2007-10-22  Jason Rumney  <jasonr@gnu.org>
 
        * w32fns.c: Include math.h.
index 2a99a728a764467844d02ce9f9bdebbbbcbc93b0..9796b649f72666030f4d1c4418c9b79f06a35ec0 100644 (file)
@@ -1521,7 +1521,7 @@ The function `default-value' gets the default value and `set-default' sets it.
   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 @@ Instead, use `add-hook' and specify t for the LOCAL argument.  */)
   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 @@ Buffer-local bindings take precedence over frame-local bindings.  */)
   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)));