Partially sync files.el from XEmacs 21.5 for wildcard support.
[sxemacs] / src / eval.c
index e92bf4c..4c6eddc 100644 (file)
@@ -2819,8 +2819,8 @@ and input is currently coming from the keyboard (not in keyboard macro).
 */
       ())
 {
-       REGISTER struct backtrace *btp;
-       REGISTER Lisp_Object fun;
+       REGISTER struct backtrace *btp = NULL;
+       REGISTER Lisp_Object fun = Qnil;
 
        if (!INTERACTIVE)
                return Qnil;
@@ -2877,7 +2877,8 @@ and input is currently coming from the keyboard (not in keyboard macro).
 
 #endif
 
-       fun = Findirect_function(*btp->function);
+       if (btp)
+               fun = Findirect_function(*btp->function);
        if (SUBRP(fun))
                return Qnil;
        /* btp points to the frame of a Lisp function that called interactive-p.
@@ -4531,6 +4532,8 @@ call3_trapping_errors(char *warning_string, Lisp_Object function,
 void grow_specpdl(EMACS_INT reserved)
 {
        EMACS_INT size_needed = specpdl_depth() + reserved;
+       if (specpdl_size == 0)
+               specpdl_size = 1;
        if (size_needed >= max_specpdl_size) {
                if (max_specpdl_size < min_max_specpdl_size)
                        max_specpdl_size = min_max_specpdl_size;