comparison src/eval.c @ 90054:f2ebccfa87d4

Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-74 Merge from emacs--cvs-trunk--0 Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-709 Update from CVS: src/indent.c (Fvertical_motion): Fix last change. * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-710 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-715 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-716 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-74 Update from CVS
author Miles Bader <miles@gnu.org>
date Wed, 08 Dec 2004 05:02:30 +0000
parents cb7f41387eb3 d118146048e5
children fb79180b618d
comparison
equal deleted inserted replaced
90053:fff5f1a61d92 90054:f2ebccfa87d4
202 init_eval_once () 202 init_eval_once ()
203 { 203 {
204 specpdl_size = 50; 204 specpdl_size = 50;
205 specpdl = (struct specbinding *) xmalloc (specpdl_size * sizeof (struct specbinding)); 205 specpdl = (struct specbinding *) xmalloc (specpdl_size * sizeof (struct specbinding));
206 specpdl_ptr = specpdl; 206 specpdl_ptr = specpdl;
207 max_specpdl_size = 600; 207 max_specpdl_size = 1000;
208 max_lisp_eval_depth = 300; 208 max_lisp_eval_depth = 300;
209 209
210 Vrun_hooks = Qnil; 210 Vrun_hooks = Qnil;
211 } 211 }
212 212
571 `call-interactively', the way to do that is by adding an extra 571 `call-interactively', the way to do that is by adding an extra
572 optional argument, and making the `interactive' spec specify non-nil 572 optional argument, and making the `interactive' spec specify non-nil
573 unconditionally for that argument. (`p' is a good way to do this.) */) 573 unconditionally for that argument. (`p' is a good way to do this.) */)
574 () 574 ()
575 { 575 {
576 return (INTERACTIVE && interactive_p (1)) ? Qt : Qnil; 576 return interactive_p (1) ? Qt : Qnil;
577 } 577 }
578 578
579 579
580 /* Return 1 if function in which this appears was called using 580 /* Return 1 if function in which this appears was called using
581 call-interactively. 581 call-interactively.
593 btp = backtrace_list; 593 btp = backtrace_list;
594 594
595 /* If this isn't a byte-compiled function, there may be a frame at 595 /* If this isn't a byte-compiled function, there may be a frame at
596 the top for Finteractive_p. If so, skip it. */ 596 the top for Finteractive_p. If so, skip it. */
597 fun = Findirect_function (*btp->function); 597 fun = Findirect_function (*btp->function);
598 if (SUBRP (fun) && XSUBR (fun) == &Sinteractive_p) 598 if (SUBRP (fun) && (XSUBR (fun) == &Sinteractive_p
599 || XSUBR (fun) == &Scalled_interactively_p))
599 btp = btp->next; 600 btp = btp->next;
600 601
601 /* If we're running an Emacs 18-style byte-compiled function, there 602 /* If we're running an Emacs 18-style byte-compiled function, there
602 may be a frame for Fbytecode at the top level. In any version of 603 may be a frame for Fbytecode at the top level. In any version of
603 Emacs there can be Fbytecode frames for subexpressions evaluated 604 Emacs there can be Fbytecode frames for subexpressions evaluated
784 tem = Fdefault_boundp (sym); 785 tem = Fdefault_boundp (sym);
785 if (!NILP (tail)) 786 if (!NILP (tail))
786 { 787 {
787 if (NILP (tem)) 788 if (NILP (tem))
788 Fset_default (sym, Feval (Fcar (tail))); 789 Fset_default (sym, Feval (Fcar (tail)));
790 else
791 { /* Check if there is really a global binding rather than just a let
792 binding that shadows the global unboundness of the var. */
793 volatile struct specbinding *pdl = specpdl_ptr;
794 while (--pdl >= specpdl)
795 {
796 if (EQ (pdl->symbol, sym) && !pdl->func
797 && EQ (pdl->old_value, Qunbound))
798 {
799 message_with_string ("Warning: defvar ignored because %s is let-bound",
800 SYMBOL_NAME (sym), 1);
801 break;
802 }
803 }
804 }
789 tail = Fcdr (tail); 805 tail = Fcdr (tail);
790 tem = Fcar (tail); 806 tem = Fcar (tail);
791 if (!NILP (tem)) 807 if (!NILP (tem))
792 { 808 {
793 if (!NILP (Vpurify_flag)) 809 if (!NILP (Vpurify_flag))
1156 register int last_time; 1172 register int last_time;
1157 1173
1158 /* Save the value in the tag. */ 1174 /* Save the value in the tag. */
1159 catch->val = value; 1175 catch->val = value;
1160 1176
1161 /* Restore the polling-suppression count. */ 1177 /* Restore certain special C variables. */
1162 set_poll_suppress_count (catch->poll_suppress_count); 1178 set_poll_suppress_count (catch->poll_suppress_count);
1163 interrupt_input_blocked = catch->interrupt_input_blocked; 1179 interrupt_input_blocked = catch->interrupt_input_blocked;
1180 handling_signal = 0;
1164 1181
1165 do 1182 do
1166 { 1183 {
1167 last_time = catchlist == catch; 1184 last_time = catchlist == catch;
1168 1185