emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/eval.c


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/eval.c
Date: Tue, 26 Jul 2005 12:28:45 -0400

Index: emacs/src/eval.c
diff -c emacs/src/eval.c:1.254 emacs/src/eval.c:1.255
*** emacs/src/eval.c:1.254      Sat Jul 23 19:09:09 2005
--- emacs/src/eval.c    Tue Jul 26 16:28:44 2005
***************
*** 807,824 ****
    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");
--- 807,812 ----
***************
*** 826,831 ****
--- 814,831 ----
    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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]