Mercurial > emacs
comparison src/eval.c @ 90201:fbb2bea03df9
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-69
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 474-484)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 88-91)
- Merge from emacs--cvs-trunk--0
- Update FSF's address in GPL notices
- Update from CVS
| author | Miles Bader <miles@gnu.org> |
|---|---|
| date | Thu, 14 Jul 2005 08:02:00 +0000 |
| parents | f9a65d7ebd29 66b8e5d68b93 |
| children | 187d6a1f84f7 |
comparison
equal
deleted
inserted
replaced
| 90200:f9a65d7ebd29 | 90201:fbb2bea03df9 |
|---|---|
| 805 { | 805 { |
| 806 register Lisp_Object sym, tem, tail; | 806 register Lisp_Object sym, tem, tail; |
| 807 | 807 |
| 808 sym = Fcar (args); | 808 sym = Fcar (args); |
| 809 if (SYMBOL_CONSTANT_P (sym)) | 809 if (SYMBOL_CONSTANT_P (sym)) |
| 810 error ("Constant symbol `%s' specified in defvar", | 810 { |
| 811 SDATA (SYMBOL_NAME (sym))); | 811 /* For updward compatibility, allow (defvar :foo (quote :foo)). */ |
| 812 tem = Fcar (Fcdr (args)); | |
| 813 if (! (CONSP (tem) | |
| 814 && EQ (XCAR (tem), Qquote) | |
| 815 && CONSP (XCDR (tem)) | |
| 816 && EQ (XCAR (XCDR (tem)), sym))) | |
| 817 error ("Constant symbol `%s' specified in defvar", | |
| 818 SDATA (SYMBOL_NAME (sym))); | |
| 819 } | |
| 812 | 820 |
| 813 tail = Fcdr (args); | 821 tail = Fcdr (args); |
| 814 if (!NILP (Fcdr (Fcdr (tail)))) | 822 if (!NILP (Fcdr (Fcdr (tail)))) |
| 815 error ("Too many arguments"); | 823 error ("Too many arguments"); |
| 816 | 824 |
| 2083 return Fsymbol_value (form); | 2091 return Fsymbol_value (form); |
| 2084 if (!CONSP (form)) | 2092 if (!CONSP (form)) |
| 2085 return form; | 2093 return form; |
| 2086 | 2094 |
| 2087 QUIT; | 2095 QUIT; |
| 2088 if (consing_since_gc > gc_cons_threshold) | 2096 if (consing_since_gc > gc_cons_combined_threshold) |
| 2089 { | 2097 { |
| 2090 GCPRO1 (form); | 2098 GCPRO1 (form); |
| 2091 Fgarbage_collect (); | 2099 Fgarbage_collect (); |
| 2092 UNGCPRO; | 2100 UNGCPRO; |
| 2093 } | 2101 } |
| 2783 struct backtrace backtrace; | 2791 struct backtrace backtrace; |
| 2784 register Lisp_Object *internal_args; | 2792 register Lisp_Object *internal_args; |
| 2785 register int i; | 2793 register int i; |
| 2786 | 2794 |
| 2787 QUIT; | 2795 QUIT; |
| 2788 if (consing_since_gc > gc_cons_threshold) | 2796 if (consing_since_gc > gc_cons_combined_threshold) |
| 2789 Fgarbage_collect (); | 2797 Fgarbage_collect (); |
| 2790 | 2798 |
| 2791 if (++lisp_eval_depth > max_lisp_eval_depth) | 2799 if (++lisp_eval_depth > max_lisp_eval_depth) |
| 2792 { | 2800 { |
| 2793 if (max_lisp_eval_depth < 100) | 2801 if (max_lisp_eval_depth < 100) |
