diff src/eval.c @ 241:f955c73f5258 r20-5b19

Import from CVS: tag r20-5b19
author cvs
date Mon, 13 Aug 2007 10:16:16 +0200
parents 2c611d1463a6
children f220cc83d72e
line wrap: on
line diff
--- a/src/eval.c	Mon Aug 13 10:15:49 2007 +0200
+++ b/src/eval.c	Mon Aug 13 10:16:16 2007 +0200
@@ -51,6 +51,9 @@
 #define POP_BACKTRACE(bt) \
   do { backtrace_list = (bt).next; } while (0)
 
+extern int profiling_active;
+void profile_increase_call_count (Lisp_Object);
+
 /* This is the list of current catches (and also condition-cases).
    This is a stack: the most recent catch is at the head of the
    list.  Catches are created by declaring a 'struct catchtag'
@@ -3199,6 +3202,10 @@
   }
 #endif
 
+  /* It might be useful to place this *after* all the checks.  */
+  if (profiling_active)
+    profile_increase_call_count (fun);
+
   if (SYMBOLP (fun))
     fun = indirect_function (fun, 1);
 
@@ -5047,6 +5054,10 @@
 		  int i;
 		  for (i = 0; i < backlist->nargs; i++)
 		    {
+		      if (!i && EQ(tem, Qbyte_code)) {
+			write_c_string("\"...\"", stream);
+			continue;
+		      }
 		      if (i != 0) write_c_string (" ", stream);
 		      Fprin1 (backlist->args[i], stream);
 		    }