diff options
| author | Stefan Monnier | 2005-07-26 16:28:44 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2005-07-26 16:28:44 +0000 |
| commit | 1c9916a1f9dc944ee733f5c77db39013123da8da (patch) | |
| tree | be7363eeed845d8e48e03f98d9e3385d8e64fe3f /src | |
| parent | a34ed813d1c8fa8305c07dbcb14492c041131c88 (diff) | |
| download | emacs-1c9916a1f9dc944ee733f5c77db39013123da8da.tar.gz emacs-1c9916a1f9dc944ee733f5c77db39013123da8da.zip | |
(Fdefvar): Allow (defvar enable-multibyte-characters).
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/eval.c | 24 |
2 files changed, 17 insertions, 13 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index ec3ecb56660..e352ada73a3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2005-07-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * eval.c (Fdefvar): Allow (defvar enable-multibyte-characters). | ||
| 4 | |||
| 1 | 2005-07-25 Jason Rumney <jasonr@gnu.org> | 5 | 2005-07-25 Jason Rumney <jasonr@gnu.org> |
| 2 | 6 | ||
| 3 | * w32menu.c (w32_menu_display_help): Suppress tooltip when | 7 | * w32menu.c (w32_menu_display_help): Suppress tooltip when |
| @@ -22,7 +26,7 @@ | |||
| 22 | (Fgarbage_collect, init_alloc_once): Compute gc_relative_threshold | 26 | (Fgarbage_collect, init_alloc_once): Compute gc_relative_threshold |
| 23 | instead of gc_cons_combined_threshold. | 27 | instead of gc_cons_combined_threshold. |
| 24 | 28 | ||
| 25 | * lisp.h (gc_cons_threshold, gc_relative_threshold): Declared. | 29 | * lisp.h (gc_cons_threshold, gc_relative_threshold): Declare. |
| 26 | (gc_cons_combined_threshold): Declaration deleted. | 30 | (gc_cons_combined_threshold): Declaration deleted. |
| 27 | 31 | ||
| 28 | 2005-07-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 32 | 2005-07-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
diff --git a/src/eval.c b/src/eval.c index d118a30804c..56fe670f1b1 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -807,18 +807,6 @@ usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */) | |||
| 807 | register Lisp_Object sym, tem, tail; | 807 | register Lisp_Object sym, tem, tail; |
| 808 | 808 | ||
| 809 | sym = Fcar (args); | 809 | sym = Fcar (args); |
| 810 | if (SYMBOL_CONSTANT_P (sym)) | ||
| 811 | { | ||
| 812 | /* For updward compatibility, allow (defvar :foo (quote :foo)). */ | ||
| 813 | tem = Fcar (Fcdr (args)); | ||
| 814 | if (! (CONSP (tem) | ||
| 815 | && EQ (XCAR (tem), Qquote) | ||
| 816 | && CONSP (XCDR (tem)) | ||
| 817 | && EQ (XCAR (XCDR (tem)), sym))) | ||
| 818 | error ("Constant symbol `%s' specified in defvar", | ||
| 819 | SDATA (SYMBOL_NAME (sym))); | ||
| 820 | } | ||
| 821 | |||
| 822 | tail = Fcdr (args); | 810 | tail = Fcdr (args); |
| 823 | if (!NILP (Fcdr (Fcdr (tail)))) | 811 | if (!NILP (Fcdr (Fcdr (tail)))) |
| 824 | error ("Too many arguments"); | 812 | error ("Too many arguments"); |
| @@ -826,6 +814,18 @@ usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */) | |||
| 826 | tem = Fdefault_boundp (sym); | 814 | tem = Fdefault_boundp (sym); |
| 827 | if (!NILP (tail)) | 815 | if (!NILP (tail)) |
| 828 | { | 816 | { |
| 817 | if (SYMBOL_CONSTANT_P (sym)) | ||
| 818 | { | ||
| 819 | /* For upward compatibility, allow (defvar :foo (quote :foo)). */ | ||
| 820 | Lisp_Object tem = Fcar (tail); | ||
| 821 | if (! (CONSP (tem) | ||
| 822 | && EQ (XCAR (tem), Qquote) | ||
| 823 | && CONSP (XCDR (tem)) | ||
| 824 | && EQ (XCAR (XCDR (tem)), sym))) | ||
| 825 | error ("Constant symbol `%s' specified in defvar", | ||
| 826 | SDATA (SYMBOL_NAME (sym))); | ||
| 827 | } | ||
| 828 | |||
| 829 | if (NILP (tem)) | 829 | if (NILP (tem)) |
| 830 | Fset_default (sym, Feval (Fcar (tail))); | 830 | Fset_default (sym, Feval (Fcar (tail))); |
| 831 | else | 831 | else |