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: Pavel Janík
Subject: [Emacs-diffs] Changes to emacs/src/eval.c
Date: Sat, 22 Dec 2001 09:01:01 -0500

Index: emacs/src/eval.c
diff -c emacs/src/eval.c:1.178 emacs/src/eval.c:1.179
*** emacs/src/eval.c:1.178      Thu Dec  6 11:21:23 2001
--- emacs/src/eval.c    Sat Dec 22 09:01:01 2001
***************
*** 89,95 ****
  
  Lisp_Object Qautoload, Qmacro, Qexit, Qinteractive, Qcommandp, Qdefun;
  Lisp_Object Qinhibit_quit, Vinhibit_quit, Vquit_flag;
- Lisp_Object Qmocklisp_arguments, Vmocklisp_arguments, Qmocklisp;
  Lisp_Object Qand_rest, Qand_optional;
  Lisp_Object Qdebug_on_error;
  
--- 89,94 ----
***************
*** 191,198 ****
  int handling_signal;
  
  static Lisp_Object funcall_lambda P_ ((Lisp_Object, int, Lisp_Object*));
- /* Apply a mocklisp function to unevaluated argument list.  */
- extern Lisp_Object ml_apply P_ ((Lisp_Object, Lisp_Object));
  
  void
  init_eval_once ()
--- 190,195 ----
***************
*** 406,427 ****
       (args)
       Lisp_Object args;
  {
!   register Lisp_Object val, tem;
    Lisp_Object args_left;
    struct gcpro gcpro1;
  
-   /* In Mocklisp code, symbols at the front of the progn arglist
-    are to be bound to zero. */
-   if (!EQ (Vmocklisp_arguments, Qt))
-     {
-       val = make_number (0);
-       while (!NILP (args) && (tem = Fcar (args), SYMBOLP (tem)))
-       {
-         QUIT;
-         specbind (tem, val), args = Fcdr (args);
-       }
-     }
- 
    if (NILP(args))
      return Qnil;
  
--- 403,412 ----
       (args)
       Lisp_Object args;
  {
!   register Lisp_Object val;
    Lisp_Object args_left;
    struct gcpro gcpro1;
  
    if (NILP(args))
      return Qnil;
  
***************
*** 925,939 ****
       (args)
       Lisp_Object args;
  {
!   Lisp_Object test, body, tem;
    struct gcpro gcpro1, gcpro2;
  
    GCPRO2 (test, body);
  
    test = Fcar (args);
    body = Fcdr (args);
!   while (tem = Feval (test),
!        (!EQ (Vmocklisp_arguments, Qt) ? XINT (tem) : !NILP (tem)))
      {
        QUIT;
        Fprogn (body);
--- 910,923 ----
       (args)
       Lisp_Object args;
  {
!   Lisp_Object test, body;
    struct gcpro gcpro1, gcpro2;
  
    GCPRO2 (test, body);
  
    test = Fcar (args);
    body = Fcdr (args);
!   while (!NILP (Feval (test)))
      {
        QUIT;
        Fprogn (body);
***************
*** 1795,1802 ****
      return Fsignal (Qinvalid_function, Fcons (fun, Qnil));
    if (EQ (funcar, Qlambda))
      return Fassq (Qinteractive, Fcdr (Fcdr (fun)));
-   if (EQ (funcar, Qmocklisp))
-     return Qt;  /* All mocklisp functions can be called interactively */
    if (EQ (funcar, Qautoload))
      return Fcar (Fcdr (Fcdr (Fcdr (fun))));
    else
--- 1779,1784 ----
***************
*** 1942,1957 ****
      abort ();
    
    if (SYMBOLP (form))
!     {
!       if (EQ (Vmocklisp_arguments, Qt))
!         return Fsymbol_value (form);
!       val = Fsymbol_value (form);
!       if (NILP (val))
!       XSETFASTINT (val, 0);
!       else if (EQ (val, Qt))
!       XSETFASTINT (val, 1);
!       return val;
!     }
    if (!CONSP (form))
      return form;
  
--- 1924,1930 ----
      abort ();
    
    if (SYMBOLP (form))
!     return Fsymbol_value (form);
    if (!CONSP (form))
      return form;
  
***************
*** 2119,2137 ****
        val = Feval (apply1 (Fcdr (fun), original_args));
        else if (EQ (funcar, Qlambda))
        val = apply_lambda (fun, original_args, 1);
-       else if (EQ (funcar, Qmocklisp))
-       val = ml_apply (fun, original_args);
        else
        return Fsignal (Qinvalid_function, Fcons (fun, Qnil));
      }
   done:
-   if (!EQ (Vmocklisp_arguments, Qt))
-     {
-       if (NILP (val))
-       XSETFASTINT (val, 0);
-       else if (EQ (val, Qt))
-       XSETFASTINT (val, 1);
-     }
    lisp_eval_depth--;
    if (backtrace.debug_on_exit)
      val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
--- 2092,2101 ----
***************
*** 2768,2775 ****
        return Fsignal (Qinvalid_function, Fcons (fun, Qnil));
        if (EQ (funcar, Qlambda))
        val = funcall_lambda (fun, numargs, args + 1);
-       else if (EQ (funcar, Qmocklisp))
-       val = ml_apply (fun, Flist (numargs, args + 1));
        else if (EQ (funcar, Qautoload))
        {
          do_autoload (fun, args[0]);
--- 2732,2737 ----
***************
*** 2845,2853 ****
    int count = specpdl_ptr - specpdl;
    int i, optional, rest;
  
-   if (NILP (Vmocklisp_arguments))
-     specbind (Qmocklisp_arguments, Qt);   /* t means NOT mocklisp! */
- 
    if (CONSP (fun))
      {
        syms_left = XCDR (fun);
--- 2807,2812 ----
***************
*** 3349,3360 ****
  It receives the same arguments that `signal' was given.
  The Edebug package uses this to regain control.  */);
    Vsignal_hook_function = Qnil;
- 
-   Qmocklisp_arguments = intern ("mocklisp-arguments");
-   staticpro (&Qmocklisp_arguments);
-   DEFVAR_LISP ("mocklisp-arguments", &Vmocklisp_arguments,
-              doc: /* While in a mocklisp function, the list of its 
unevaluated args.  */);
-   Vmocklisp_arguments = Qt;
  
    DEFVAR_LISP ("debug-on-signal", &Vdebug_on_signal,
               doc: /* *Non-nil means call the debugger regardless of condition 
handlers.
--- 3308,3313 ----



reply via email to

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