changeset 64638:8cbdc86a4f55

(Fdefvar): Allow (defvar enable-multibyte-characters).
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 26 Jul 2005 16:28:44 +0000
parents a975a8beec7f
children 385af3e03206
files src/ChangeLog src/eval.c
diffstat 2 files changed, 17 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Tue Jul 26 16:07:55 2005 +0000
+++ b/src/ChangeLog	Tue Jul 26 16:28:44 2005 +0000
@@ -1,3 +1,7 @@
+2005-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* eval.c (Fdefvar): Allow (defvar enable-multibyte-characters).
+
 2005-07-25  Jason Rumney  <jasonr@gnu.org>
 
 	* w32menu.c (w32_menu_display_help): Suppress tooltip when
@@ -22,7 +26,7 @@
 	(Fgarbage_collect, init_alloc_once): Compute gc_relative_threshold
 	instead of gc_cons_combined_threshold.
 
-	* lisp.h (gc_cons_threshold, gc_relative_threshold): Declared.
+	* lisp.h (gc_cons_threshold, gc_relative_threshold): Declare.
 	(gc_cons_combined_threshold): Declaration deleted.
 
 2005-07-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
--- a/src/eval.c	Tue Jul 26 16:07:55 2005 +0000
+++ b/src/eval.c	Tue Jul 26 16:28:44 2005 +0000
@@ -807,18 +807,6 @@
   register Lisp_Object sym, tem, tail;
 
   sym = Fcar (args);
-  if (SYMBOL_CONSTANT_P (sym))
-    {
-      /* For updward compatibility, allow (defvar :foo (quote :foo)).  */
-      tem = Fcar (Fcdr (args));
-      if (! (CONSP (tem)
-	     && EQ (XCAR (tem), Qquote)
-	     && CONSP (XCDR (tem))
-	     && EQ (XCAR (XCDR (tem)), sym)))
-	error ("Constant symbol `%s' specified in defvar",
-	       SDATA (SYMBOL_NAME (sym)));
-    }
-
   tail = Fcdr (args);
   if (!NILP (Fcdr (Fcdr (tail))))
     error ("Too many arguments");
@@ -826,6 +814,18 @@
   tem = Fdefault_boundp (sym);
   if (!NILP (tail))
     {
+      if (SYMBOL_CONSTANT_P (sym))
+	{
+	  /* For upward compatibility, allow (defvar :foo (quote :foo)).  */
+	  Lisp_Object tem = Fcar (tail);
+	  if (! (CONSP (tem)
+		 && EQ (XCAR (tem), Qquote)
+		 && CONSP (XCDR (tem))
+		 && EQ (XCAR (XCDR (tem)), sym)))
+	    error ("Constant symbol `%s' specified in defvar",
+		   SDATA (SYMBOL_NAME (sym)));
+	}
+
       if (NILP (tem))
 	Fset_default (sym, Feval (Fcar (tail)));
       else