Mercurial > emacs
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 |