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: Richard M . Stallman
Subject: [Emacs-diffs] Changes to emacs/src/eval.c
Date: Sat, 29 Oct 2005 15:34:12 -0400

Index: emacs/src/eval.c
diff -c emacs/src/eval.c:1.256 emacs/src/eval.c:1.257
*** emacs/src/eval.c:1.256      Sun Aug  7 12:33:16 2005
--- emacs/src/eval.c    Sat Oct 29 19:34:12 2005
***************
*** 1343,1357 ****
       (args)
       Lisp_Object args;
  {
-   Lisp_Object val;
-   struct catchtag c;
-   struct handler h;
    register Lisp_Object bodyform, handlers;
    volatile Lisp_Object var;
  
    var      = Fcar (args);
    bodyform = Fcar (Fcdr (args));
    handlers = Fcdr (Fcdr (args));
    CHECK_SYMBOL (var);
  
    for (val = handlers; CONSP (val); val = XCDR (val))
--- 1343,1370 ----
       (args)
       Lisp_Object args;
  {
    register Lisp_Object bodyform, handlers;
    volatile Lisp_Object var;
  
    var      = Fcar (args);
    bodyform = Fcar (Fcdr (args));
    handlers = Fcdr (Fcdr (args));
+ 
+   return internal_lisp_condition_case (var, bodyform, handlers);
+ }
+ 
+ /* Like Fcondition_case, but the args are separate
+    rather than passed in a list.  Used by Fbyte_code.  */
+ 
+ Lisp_Object
+ internal_lisp_condition_case (var, bodyform, handlers)
+      volatile Lisp_Object var;
+      Lisp_Object bodyform, handlers;
+ {
+   Lisp_Object val;
+   struct catchtag c;
+   struct handler h;
+ 
    CHECK_SYMBOL (var);
  
    for (val = handlers; CONSP (val); val = XCDR (val))
***************
*** 2094,2101 ****
      return form;
  
    QUIT;
!   if (consing_since_gc > gc_cons_threshold
!       && consing_since_gc > gc_relative_threshold)
      {
        GCPRO1 (form);
        Fgarbage_collect ();
--- 2107,2116 ----
      return form;
  
    QUIT;
!   if ((consing_since_gc > gc_cons_threshold
!        && consing_since_gc > gc_relative_threshold)
!       ||
!       (!NILP (Vmemory_full) && consing_since_gc > memory_full_cons_threshold))
      {
        GCPRO1 (form);
        Fgarbage_collect ();
***************
*** 2795,2802 ****
    register int i;
  
    QUIT;
!   if (consing_since_gc > gc_cons_threshold
!       && consing_since_gc > gc_relative_threshold)
      Fgarbage_collect ();
  
    if (++lisp_eval_depth > max_lisp_eval_depth)
--- 2810,2819 ----
    register int i;
  
    QUIT;
!   if ((consing_since_gc > gc_cons_threshold
!        && consing_since_gc > gc_relative_threshold)
!       ||
!       (!NILP (Vmemory_full) && consing_since_gc > memory_full_cons_threshold))
      Fgarbage_collect ();
  
    if (++lisp_eval_depth > max_lisp_eval_depth)




reply via email to

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