[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/eval.c [emacs-unicode-2]
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/src/eval.c [emacs-unicode-2] |
Date: |
Wed, 08 Dec 2004 00:48:30 -0500 |
Index: emacs/src/eval.c
diff -c emacs/src/eval.c:1.210.4.7 emacs/src/eval.c:1.210.4.8
*** emacs/src/eval.c:1.210.4.7 Fri Nov 12 02:52:57 2004
--- emacs/src/eval.c Wed Dec 8 05:02:20 2004
***************
*** 204,210 ****
specpdl_size = 50;
specpdl = (struct specbinding *) xmalloc (specpdl_size * sizeof (struct
specbinding));
specpdl_ptr = specpdl;
! max_specpdl_size = 600;
max_lisp_eval_depth = 300;
Vrun_hooks = Qnil;
--- 204,210 ----
specpdl_size = 50;
specpdl = (struct specbinding *) xmalloc (specpdl_size * sizeof (struct
specbinding));
specpdl_ptr = specpdl;
! max_specpdl_size = 1000;
max_lisp_eval_depth = 300;
Vrun_hooks = Qnil;
***************
*** 573,579 ****
unconditionally for that argument. (`p' is a good way to do this.) */)
()
{
! return (INTERACTIVE && interactive_p (1)) ? Qt : Qnil;
}
--- 573,579 ----
unconditionally for that argument. (`p' is a good way to do this.) */)
()
{
! return interactive_p (1) ? Qt : Qnil;
}
***************
*** 595,601 ****
/* If this isn't a byte-compiled function, there may be a frame at
the top for Finteractive_p. If so, skip it. */
fun = Findirect_function (*btp->function);
! if (SUBRP (fun) && XSUBR (fun) == &Sinteractive_p)
btp = btp->next;
/* If we're running an Emacs 18-style byte-compiled function, there
--- 595,602 ----
/* If this isn't a byte-compiled function, there may be a frame at
the top for Finteractive_p. If so, skip it. */
fun = Findirect_function (*btp->function);
! if (SUBRP (fun) && (XSUBR (fun) == &Sinteractive_p
! || XSUBR (fun) == &Scalled_interactively_p))
btp = btp->next;
/* If we're running an Emacs 18-style byte-compiled function, there
***************
*** 786,791 ****
--- 787,807 ----
{
if (NILP (tem))
Fset_default (sym, Feval (Fcar (tail)));
+ else
+ { /* Check if there is really a global binding rather than just a let
+ binding that shadows the global unboundness of the var. */
+ volatile struct specbinding *pdl = specpdl_ptr;
+ while (--pdl >= specpdl)
+ {
+ if (EQ (pdl->symbol, sym) && !pdl->func
+ && EQ (pdl->old_value, Qunbound))
+ {
+ message_with_string ("Warning: defvar ignored because %s is
let-bound",
+ SYMBOL_NAME (sym), 1);
+ break;
+ }
+ }
+ }
tail = Fcdr (tail);
tem = Fcar (tail);
if (!NILP (tem))
***************
*** 1158,1166 ****
/* Save the value in the tag. */
catch->val = value;
! /* Restore the polling-suppression count. */
set_poll_suppress_count (catch->poll_suppress_count);
interrupt_input_blocked = catch->interrupt_input_blocked;
do
{
--- 1174,1183 ----
/* Save the value in the tag. */
catch->val = value;
! /* Restore certain special C variables. */
set_poll_suppress_count (catch->poll_suppress_count);
interrupt_input_blocked = catch->interrupt_input_blocked;
+ handling_signal = 0;
do
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/src/eval.c [emacs-unicode-2],
Miles Bader <=