aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2012-07-18 11:20:33 -0400
committerStefan Monnier2012-07-18 11:20:33 -0400
commit5fbc0409ac3c51baf18d43b00ed00b56acc1c74b (patch)
tree6cef721f973317fa7523987e4dd97e9f5fe360a0 /src
parenteceb6feba42bebcb15d5dd0c60c9470ad7300309 (diff)
downloademacs-5fbc0409ac3c51baf18d43b00ed00b56acc1c74b.tar.gz
emacs-5fbc0409ac3c51baf18d43b00ed00b56acc1c74b.zip
* src/eval.c (Fdefvar): Don't check constants since we only set the var if
it's not yet defined anyway. Fixes: debbugs:11904
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog3
-rw-r--r--src/eval.c12
2 files changed, 3 insertions, 12 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 42aff300ad6..b7e6b5b5fce 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
12012-07-18 Stefan Monnier <monnier@iro.umontreal.ca> 12012-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
2 2
3 * eval.c (Fdefvar): Don't check constants since we only set the var if
4 it's not yet defined anyway (bug#11904).
5
3 * lisp.h (last_undo_boundary): Declare new var. 6 * lisp.h (last_undo_boundary): Declare new var.
4 * keyboard.c (command_loop_1): Set it. 7 * keyboard.c (command_loop_1): Set it.
5 * cmds.c (Fself_insert_command): Use it to only remove boundaries that 8 * cmds.c (Fself_insert_command): Use it to only remove boundaries that
diff --git a/src/eval.c b/src/eval.c
index f16fdc6dd4c..da567e1e635 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -691,18 +691,6 @@ usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */)
691 /* Do it before evaluating the initial value, for self-references. */ 691 /* Do it before evaluating the initial value, for self-references. */
692 XSYMBOL (sym)->declared_special = 1; 692 XSYMBOL (sym)->declared_special = 1;
693 693
694 if (SYMBOL_CONSTANT_P (sym))
695 {
696 /* For upward compatibility, allow (defvar :foo (quote :foo)). */
697 Lisp_Object tem1 = Fcar (tail);
698 if (! (CONSP (tem1)
699 && EQ (XCAR (tem1), Qquote)
700 && CONSP (XCDR (tem1))
701 && EQ (XCAR (XCDR (tem1)), sym)))
702 error ("Constant symbol `%s' specified in defvar",
703 SDATA (SYMBOL_NAME (sym)));
704 }
705
706 if (NILP (tem)) 694 if (NILP (tem))
707 Fset_default (sym, eval_sub (Fcar (tail))); 695 Fset_default (sym, eval_sub (Fcar (tail)));
708 else 696 else