emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/eval.c


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/eval.c
Date: Sat, 19 Apr 2003 14:58:56 -0400

Index: emacs/src/eval.c
diff -c emacs/src/eval.c:1.204 emacs/src/eval.c:1.205
*** emacs/src/eval.c:1.204      Thu Apr 17 18:25:43 2003
--- emacs/src/eval.c    Sat Apr 19 14:58:56 2003
***************
*** 2161,2167 ****
    register Lisp_Object spread_arg;
    register Lisp_Object *funcall_args;
    Lisp_Object fun;
!   int nvars;
  
    fun = args [0];
    funcall_args = 0;
--- 2161,2167 ----
    register Lisp_Object spread_arg;
    register Lisp_Object *funcall_args;
    Lisp_Object fun;
!   struct gcpro gcpro1;
  
    fun = args [0];
    funcall_args = 0;
***************
*** 2201,2207 ****
                                                 * sizeof (Lisp_Object));
          for (i = numargs; i < XSUBR (fun)->max_args;)
            funcall_args[++i] = Qnil;
!         nvars = 1 + XSUBR (fun)->max_args;
        }
      }
   funcall:
--- 2201,2208 ----
                                                 * sizeof (Lisp_Object));
          for (i = numargs; i < XSUBR (fun)->max_args;)
            funcall_args[++i] = Qnil;
!         GCPRO1 (*funcall_args);
!         gcpro1.nvars = 1 + XSUBR (fun)->max_args;
        }
      }
   funcall:
***************
*** 2211,2217 ****
      {
        funcall_args = (Lisp_Object *) alloca ((1 + numargs)
                                             * sizeof (Lisp_Object));
!       nvars = 1 + numargs;
      }
  
    bcopy (args, funcall_args, nargs * sizeof (Lisp_Object));
--- 2212,2219 ----
      {
        funcall_args = (Lisp_Object *) alloca ((1 + numargs)
                                             * sizeof (Lisp_Object));
!       GCPRO1 (*funcall_args);
!       gcpro1.nvars = 1 + numargs;
      }
  
    bcopy (args, funcall_args, nargs * sizeof (Lisp_Object));
***************
*** 2224,2230 ****
        spread_arg = XCDR (spread_arg);
      }
  
!   return Ffuncall (nvars, funcall_args);
  }
  
  /* Run hook variables in various ways.  */
--- 2226,2233 ----
        spread_arg = XCDR (spread_arg);
      }
  
!   /* By convention, the caller needs to gcpro Ffuncall's args.  */
!   RETURN_UNGCPRO (Ffuncall (gcpro1.nvars, funcall_args));
  }
  
  /* Run hook variables in various ways.  */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]