[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/eval.c [lexbind]
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/src/eval.c [lexbind] |
Date: |
Wed, 08 Dec 2004 18:57:10 -0500 |
Index: emacs/src/eval.c
diff -c emacs/src/eval.c:1.189.2.17 emacs/src/eval.c:1.189.2.18
*** emacs/src/eval.c:1.189.2.17 Fri Nov 12 04:21:16 2004
--- emacs/src/eval.c Wed Dec 8 23:36:24 2004
***************
*** 216,222 ****
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;
--- 216,222 ----
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;
***************
*** 588,594 ****
unconditionally for that argument. (`p' is a good way to do this.) */)
()
{
! return (INTERACTIVE && interactive_p (1)) ? Qt : Qnil;
}
--- 588,594 ----
unconditionally for that argument. (`p' is a good way to do this.) */)
()
{
! return interactive_p (1) ? Qt : Qnil;
}
***************
*** 625,631 ****
/* 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
--- 625,632 ----
/* 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
***************
*** 823,828 ****
--- 824,844 ----
{
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))
***************
*** 1232,1240 ****
/* 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
{
--- 1248,1257 ----
/* 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 [lexbind],
Miles Bader <=