(Fdefvar): Allow (defvar enable-multibyte-characters).

This commit is contained in:
Stefan Monnier 2005-07-26 16:28:44 +00:00
parent a34ed813d1
commit 1c9916a1f9
2 changed files with 17 additions and 13 deletions

View file

@ -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>

View file

@ -807,18 +807,6 @@ usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */)
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 @@ usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */)
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