[m-rev.] for review: standardizing event and call sequence numbers

Zoltan Somogyi zs at cs.mu.OZ.AU
Fri Sep 6 16:21:00 AEST 2002


Add a mechanism for standardizing the event and call sequence numbers in
debugger output. The mechanism is a global flag whose value is set from
MERCURY_OPTIONS. It is intended to be used only in our own internal testing.

runtime/mercury_trace_base.[ch]:
	Define the global, MR_standardize_event_details.

	Move the documentation of several globals from the .c to the .h file,
	since that is where their users will look. Put those globals in a
	consistent order.

	Add functions for standardizing event and call sequence numbers,
	and use them when printing event details.

runtime/mercury_wrapper.c:
	Set MR_standardize_event_details when given the option -de.

runtime/mercury_stack_trace.c:
library/exception.m:
trace/mercury_trace_internal.m:
	Respect MR_standardize_event_details.

tests/Mmake.common:
	Define the make variable MDB_STD, which is like MDB except it also
	puts -de in MERCURY_OPTIONS.

tests/debugger/Mmakefile:
	Use MDB_STD instead of MDB for test cases that can benefit from
	standardizing event and call sequence numbers.

	Put the rules for the test cases in alphabetical order.

tests/debugger/*.exp*:
	Update expected outputs after this change.

cvs diff: Diffing .
cvs diff: Diffing bench
cvs diff: Diffing bench/progs
cvs diff: Diffing bench/progs/compress
cvs diff: Diffing bench/progs/icfp2000
cvs diff: Diffing bench/progs/icfp2001
cvs diff: Diffing bench/progs/nuc
cvs diff: Diffing bench/progs/ray
cvs diff: Diffing bench/progs/tree234
cvs diff: Diffing bindist
cvs diff: Diffing boehm_gc
cvs diff: Diffing boehm_gc/Mac_files
cvs diff: Diffing boehm_gc/cord
cvs diff: Diffing boehm_gc/cord/private
cvs diff: Diffing boehm_gc/doc
cvs diff: Diffing boehm_gc/include
cvs diff: Diffing boehm_gc/include/private
cvs diff: Diffing boehm_gc/tests
cvs diff: Diffing browser
cvs diff: Diffing bytecode
cvs diff: Diffing compiler
cvs diff: Diffing compiler/notes
cvs diff: Diffing debian
cvs diff: Diffing deep_profiler
cvs diff: Diffing deep_profiler/notes
cvs diff: Diffing doc
cvs diff: Diffing extras
cvs diff: Diffing extras/aditi
cvs diff: Diffing extras/cgi
cvs diff: Diffing extras/complex_numbers
cvs diff: Diffing extras/complex_numbers/samples
cvs diff: Diffing extras/complex_numbers/tests
cvs diff: Diffing extras/concurrency
cvs diff: Diffing extras/curs
cvs diff: Diffing extras/curs/samples
cvs diff: Diffing extras/curses
cvs diff: Diffing extras/curses/sample
cvs diff: Diffing extras/dynamic_linking
cvs diff: Diffing extras/graphics
cvs diff: Diffing extras/graphics/mercury_opengl
cvs diff: Diffing extras/graphics/mercury_tcltk
cvs diff: Diffing extras/graphics/samples
cvs diff: Diffing extras/graphics/samples/calc
cvs diff: Diffing extras/graphics/samples/maze
cvs diff: Diffing extras/graphics/samples/pent
cvs diff: Diffing extras/lazy_evaluation
cvs diff: Diffing extras/lex
cvs diff: Diffing extras/lex/samples
cvs diff: Diffing extras/logged_output
cvs diff: Diffing extras/moose
cvs diff: Diffing extras/moose/samples
cvs diff: Diffing extras/morphine
cvs diff: Diffing extras/morphine/non-regression-tests
cvs diff: Diffing extras/morphine/scripts
cvs diff: Diffing extras/morphine/source
cvs diff: Diffing extras/odbc
cvs diff: Diffing extras/posix
cvs diff: Diffing extras/quickcheck
cvs diff: Diffing extras/quickcheck/tutes
cvs diff: Diffing extras/references
cvs diff: Diffing extras/references/samples
cvs diff: Diffing extras/references/tests
cvs diff: Diffing extras/stream
cvs diff: Diffing extras/trailed_update
cvs diff: Diffing extras/trailed_update/samples
cvs diff: Diffing extras/trailed_update/tests
cvs diff: Diffing extras/xml
cvs diff: Diffing extras/xml/samples
cvs diff: Diffing java
cvs diff: Diffing java/library
cvs diff: Diffing java/runtime
cvs diff: Diffing library
Index: library/exception.m
===================================================================
RCS file: /home/mercury1/repository/mercury/library/exception.m,v
retrieving revision 1.69
diff -u -b -r1.69 exception.m
--- library/exception.m	2002/08/07 03:18:48	1.69
+++ library/exception.m	2002/09/05 01:44:42
@@ -1819,10 +1819,19 @@
 			MR_succip = save_succip;
 			MR_trace_report(stderr);
 			if (exception_event_number > 0) {
-				fprintf(stderr, ""Last trace event before ""
+				if (MR_standardize_event_details) {
+					fprintf(stderr,
+						""Last trace event before ""
 					""the unhandled exception was ""
+						""event #E%ld.\\n"",
+						(long) MR_standardize_event_num( exception_event_number));
+				} else {
+					fprintf(stderr,
+						""Last trace event before ""
+						""the unhandled exception was ""
 					""event #%ld.\\n"",
 					(long) exception_event_number);
+				}
 			}
 			if (MR_trace_enabled) {
 				/*
cvs diff: Diffing profiler
cvs diff: Diffing robdd
cvs diff: Diffing runtime
Index: runtime/mercury_stack_trace.c
===================================================================
RCS file: /home/mercury1/repository/mercury/runtime/mercury_stack_trace.c,v
retrieving revision 1.48
diff -u -b -r1.48 mercury_stack_trace.c
--- runtime/mercury_stack_trace.c	2002/08/19 06:42:09	1.48
+++ runtime/mercury_stack_trace.c	2002/09/05 02:14:59
@@ -18,6 +18,7 @@
 #include "mercury_stack_layout.h"
 #include "mercury_debug.h"
 #include "mercury_array_macros.h"
+#include "mercury_trace_base.h"
 #include <stdio.h>
 
 #ifndef MR_HIGHLEVEL_CODE
@@ -886,16 +887,32 @@
     }
 
     if (print_details) {
+        unsigned long event_num;
+        unsigned long call_num;
+        unsigned long depth;
+
         if (MR_DETISM_DET_STACK(entry->MR_sle_detism)) {
-            fprintf(fp, "%7lu %7lu %4lu ",
-                (unsigned long) MR_event_num_stackvar(base_sp) + 1,
-                (unsigned long) MR_call_num_stackvar(base_sp),
-                (unsigned long) MR_call_depth_stackvar(base_sp));
-        } else {
-            fprintf(fp, "%7lu %7lu %4lu ",
-                (unsigned long) MR_event_num_framevar(base_curfr) + 1,
-                (unsigned long) MR_call_num_framevar(base_curfr),
-                (unsigned long) MR_call_depth_framevar(base_curfr));
+            event_num = MR_event_num_stackvar(base_sp) + 1;
+            call_num = MR_call_num_stackvar(base_sp);
+            depth = MR_call_depth_stackvar(base_sp);
+        } else {
+            event_num = MR_event_num_framevar(base_curfr) + 1;
+            call_num = MR_call_num_framevar(base_curfr);
+            depth = MR_call_depth_framevar(base_curfr);
+        }
+
+        if (MR_standardize_event_details) {
+            char    buf[64];    /* plenty big enough */
+
+            event_num = MR_standardize_event_num(event_num);
+            call_num = MR_standardize_call_num(call_num);
+            snprintf(buf, 64, "E%lu", event_num);
+            fprintf(fp, "%7s ", buf);
+            snprintf(buf, 64, "C%lu", call_num);
+            fprintf(fp, "%7s ", buf);
+            fprintf(fp, "%4lu ", depth);
+        } else {
+            fprintf(fp, "%7lu %7lu %4lu ", event_num, call_num, depth);
         }
     } else {
         /* ensure that the remaining columns line up */
Index: runtime/mercury_trace_base.c
===================================================================
RCS file: /home/mercury1/repository/mercury/runtime/mercury_trace_base.c,v
retrieving revision 1.45
diff -u -b -r1.45 mercury_trace_base.c
--- runtime/mercury_trace_base.c	2002/07/26 04:20:12	1.45
+++ runtime/mercury_trace_base.c	2002/09/05 11:19:04
@@ -22,6 +22,7 @@
 #include "mercury_engine.h"
 #include "mercury_wrapper.h"
 #include "mercury_misc.h"
+#include "mercury_hash_table.h"
 #include "mercury_layout_util.h" /* for MR_generate_proc_name_from_layout */
 #include "mercury_runtime_util.h"	/* for strerror() on some systems */
 #include "mercury_signal.h"	/* for MR_setup_signal() */
@@ -37,79 +38,16 @@
   #include <sys/wait.h>		/* for the wait system call */
 #endif
 
-/*
-** Do we want to use the debugger within this process, or do want to use
-** the Opium-style trace analyzer debugger implemented by an external process.
-** This variable is set in mercury_wrapper.c and never modified afterwards.
-*/
-
-MR_Trace_Type	MR_trace_handler = MR_TRACE_INTERNAL;
-
-/*
-** Compiler generated tracing code will check whether MR_trace_enabled is true,
-** before calling MR_trace.
-**
-** MR_trace_enabled should keep the same value throughout the execution of
-** the entire program after being set in mercury_wrapper.c. There are two
-** exceptions to this. First, the Mercury routines called as part of the
-** functionality of the tracer itself (e.g. the term browser) should always be
-** executed with MR_trace_enabled set to MR_FALSE. Second, when a procedure
-** implemented in foreign code has the tabled_for_io_unitize annotation,
-** which means that it can both do I/O and call Mercury code, then we turn the
-** procedure and its descendants into a single unit by turning off tracing
-** within the descendants. This is required to prevent the I/O tabling problems
-** that could otherwise arise if we got retries from within the descendants.
-*/
-
-MR_bool		MR_trace_enabled = MR_FALSE;
-
 MR_bool		MR_have_mdb_window = MR_FALSE;
 pid_t		MR_mdb_window_pid = 0;
 
-/*
-** MR_trace_call_seqno counts distinct calls. The prologue of every
-** procedure assigns the current value of this counter as the sequence number
-** of that invocation and increments the counter. This and retry are the only
-** ways that MR_trace_call_seqno is modified.
-**
-** MR_trace_call_depth records the current depth of the call tree. The prologue
-** of every procedure assigns the current value of this variable plus one
-** as the depth of that invocation. Just before making a call, the caller
-** will set MR_trace_call_depth to its own remembered depth value. 
-** These and retry are the only ways in which MR_trace_call_depth is modified.
-**
-** Although neither MR_trace_call_seqno nor MR_trace_call_depth are used
-** directly in this module, the seqno and depth arguments of MR_trace
-** always derive their values from the saved values of these two global
-** variables.
-*/
-
+MR_bool		MR_trace_enabled = MR_FALSE;
 MR_Unsigned	MR_trace_call_seqno = 0;
 MR_Unsigned	MR_trace_call_depth = 0;
-
-/*
-** MR_trace_event_number is a simple counter of events. This is used in
-** two places: in the debugger for display to the user and for skipping
-** a given number of events, and when printing an abort message, so that
-** the programmer can zero in on the source of the problem more quickly.
-*/
-
 MR_Unsigned	MR_trace_event_number = 0;
-
-/*
-** MR_trace_from_full is a boolean that is set before every call;
-** it states whether the caller is being deep traced, or only shallow
-** traced. If the called code is shallow traced, it will generate
-** interface trace events only if MR_trace_from_full is true.
-** (It will never generate internal events.) If the called code is deep
-** traced, it will always generate all trace events, external and internal,
-** regardless of the setting of this variable on entry.
-**
-** The initial value is set to MR_TRUE to allow the programmer to gain
-** control in the debugger when main/2 is called.
-*/
-
 MR_bool		MR_trace_from_full = MR_TRUE;
+MR_bool		MR_standardize_event_details = MR_FALSE;
+MR_Trace_Type	MR_trace_handler = MR_TRACE_INTERNAL;
 
 /*
 ** I/O tabling is documented in library/table_builtin.m
@@ -155,6 +93,14 @@
 	"NONE",
 };
 
+static	const void	*MR_get_orig_number(const void *record);
+static	int		MR_hash_orig_number(const void *orig_number);
+static	MR_bool		MR_equal_orig_number(const void *orig_number1,
+				const void *orig_number2);
+static	MR_Unsigned	MR_standardize_num(MR_Unsigned num,
+				MR_Hash_Table *table_ptr, MR_bool *init_ptr,
+				int *next_ptr);
+
 MR_Code *
 MR_trace(const MR_Label_Layout *layout)
 {
@@ -288,6 +234,91 @@
 	MR_trace_enabled = MR_FALSE;
 }
 
+#define MR_STANDARD_HASH_TABLE_SIZE 1024
+
+typedef struct {
+	MR_Unsigned   MR_std_orig_number;
+	MR_Unsigned   MR_std_std_number;
+} MR_Standard_Hash_Record;
+
+static const void *
+MR_get_orig_number(const void *record)
+{
+	return (const void *)
+		((MR_Standard_Hash_Record *) record)->MR_std_orig_number;
+}
+
+static int
+MR_hash_orig_number(const void *orig_number)
+{
+	return (int) (((MR_Unsigned) orig_number)
+		% MR_STANDARD_HASH_TABLE_SIZE);
+}
+
+static MR_bool
+MR_equal_orig_number(const void *orig_number1, const void *orig_number2)
+{
+	return (MR_Unsigned) orig_number1 == (MR_Unsigned) orig_number2;
+}
+
+static MR_Hash_Table MR_standard_event_num_table = {
+	MR_STANDARD_HASH_TABLE_SIZE, NULL,
+	MR_get_orig_number, MR_hash_orig_number, MR_equal_orig_number
+};
+
+static MR_Hash_Table MR_standard_call_num_table = {
+	MR_STANDARD_HASH_TABLE_SIZE, NULL,
+	MR_get_orig_number, MR_hash_orig_number, MR_equal_orig_number
+};
+
+static MR_bool  MR_init_event_num_hash = MR_FALSE;
+static MR_bool  MR_init_call_num_hash = MR_FALSE;
+
+static int MR_next_std_event_num = 1;
+static int MR_next_std_call_num = 1;
+
+static MR_Unsigned
+MR_standardize_num(MR_Unsigned num, MR_Hash_Table *table_ptr,
+	MR_bool *init_ptr, int *next_ptr)
+{
+	const MR_Standard_Hash_Record	*record;
+	MR_Standard_Hash_Record		*new_record;
+	int				std_num;
+
+	if (! *init_ptr) {
+		*init_ptr = MR_TRUE;
+		MR_init_hash_table(*table_ptr);
+	}
+
+	record = MR_lookup_hash_table(*table_ptr, num);
+	if (record != NULL) {
+		return record->MR_std_std_number;
+	}
+
+	std_num = *next_ptr;
+	(*next_ptr)++;
+
+	new_record = MR_GC_NEW(MR_Standard_Hash_Record);
+	new_record->MR_std_orig_number = num;
+	new_record->MR_std_std_number = std_num;
+	(void) MR_insert_hash_table(*table_ptr, new_record);
+	return std_num;
+}
+
+MR_Unsigned
+MR_standardize_event_num(MR_Unsigned event_num)
+{
+	return MR_standardize_num(event_num, &MR_standard_event_num_table,
+		&MR_init_event_num_hash, &MR_next_std_event_num);
+}
+
+MR_Unsigned
+MR_standardize_call_num(MR_Unsigned call_num)
+{
+	return MR_standardize_num(call_num, &MR_standard_call_num_table,
+		&MR_init_call_num_hash, &MR_next_std_call_num);
+}
+
 void
 MR_trace_report(FILE *fp)
 {
@@ -297,8 +328,14 @@
 		** which implies that the user wants trace info on abort.
 		*/
 
+		if (MR_standardize_event_details) {
+			fprintf(fp, "Last trace event was event #E%ld.\n",
+				(long) MR_standardize_event_num(
+					MR_trace_event_number));
+		} else {
 		fprintf(fp, "Last trace event was event #%ld.\n",
 			(long) MR_trace_event_number);
+		}
 
 #ifdef	MR_TRACE_HISTOGRAM
 		{
@@ -340,8 +377,14 @@
 		** which implies that the user wants trace info on abort.
 		*/
 
+		if (MR_standardize_event_details) {
+			sprintf(buf, "Last trace event was event #E%ld.\n",
+				(long) MR_standardize_event_num(
+					MR_trace_event_number));
+		} else {
 		sprintf(buf, "Last trace event was event #%ld.\n",
 			(long) MR_trace_event_number);
+		}
 		write(fd, buf, strlen(buf));
 	}
 }
Index: runtime/mercury_trace_base.h
===================================================================
RCS file: /home/mercury1/repository/mercury/runtime/mercury_trace_base.h,v
retrieving revision 1.25
diff -u -b -r1.25 mercury_trace_base.h
--- runtime/mercury_trace_base.h	2002/07/22 07:13:10	1.25
+++ runtime/mercury_trace_base.h	2002/09/04 02:16:03
@@ -114,19 +114,99 @@
 ** XXX They should probably be in MercuryEngine.
 */
 
+/*
+** Compiler generated tracing code will check whether MR_trace_enabled is true,
+** before calling MR_trace.
+**
+** MR_trace_enabled should keep the same value throughout the execution of
+** the entire program after being set in mercury_wrapper.c. There are two
+** exceptions to this. First, the Mercury routines called as part of the
+** functionality of the tracer itself (e.g. the term browser) should always be
+** executed with MR_trace_enabled set to MR_FALSE. Second, when a procedure
+** implemented in foreign code has the tabled_for_io_unitize annotation,
+** which means that it can both do I/O and call Mercury code, then we turn the
+** procedure and its descendants into a single unit by turning off tracing
+** within the descendants. This is required to prevent the I/O tabling problems
+** that could otherwise arise if we got retries from within the descendants.
+*/
+
+extern	MR_bool		MR_trace_enabled;
+
+/*
+** MR_trace_call_seqno counts distinct calls. The prologue of every
+** procedure assigns the current value of this counter as the sequence number
+** of that invocation and increments the counter. This and retry are the only
+** ways that MR_trace_call_seqno is modified.
+**
+** MR_trace_call_depth records the current depth of the call tree. The prologue
+** of every procedure assigns the current value of this variable plus one
+** as the depth of that invocation. Just before making a call, the caller
+** will set MR_trace_call_depth to its own remembered depth value. 
+** These and retry are the only ways in which MR_trace_call_depth is modified.
+**
+** Although neither MR_trace_call_seqno nor MR_trace_call_depth are used
+** directly in this module, the seqno and depth arguments of MR_trace
+** always derive their values from the saved values of these two global
+** variables.
+*/
+
 extern	MR_Unsigned	MR_trace_call_seqno;
 extern	MR_Unsigned	MR_trace_call_depth;
 
+/*
+** MR_trace_event_number is a simple counter of events. This is used in
+** two places: in the debugger for display to the user and for skipping
+** a given number of events, and when printing an abort message, so that
+** the programmer can zero in on the source of the problem more quickly.
+*/
+
+extern	MR_Unsigned	MR_trace_event_number;
+
+/*
+** MR_trace_from_full is a boolean that is set before every call;
+** it states whether the caller is being deep traced, or only shallow
+** traced. If the called code is shallow traced, it will generate
+** interface trace events only if MR_trace_from_full is true.
+** (It will never generate internal events.) If the called code is deep
+** traced, it will always generate all trace events, external and internal,
+** regardless of the setting of this variable on entry.
+**
+** The initial value is set to MR_TRUE to allow the programmer to gain
+** control in the debugger when main/2 is called.
+*/
+
+extern	MR_bool		MR_trace_from_full;
+
+/*
+** If set to true, MR_standardize_event_details modifies how functions that
+** print event numbers and call sequence numbers operate, making them
+** standardize these numbers. The Nth event number to be printed will be
+** printed as E<N> and the Nth call sequence number will be printed as C<N>
+** regardless of their actual values. This is intended to avoid hardcoding
+** concrete event and call numbers in the expected outputs of the debugger
+** test cases.
+**
+** The functions MR_standardize_event_num and MR_standardize_call_num implement
+** the standardization itself.
+*/
+
+extern	MR_bool		MR_standardize_event_details;
+
+extern	MR_Unsigned	MR_standardize_event_num(MR_Unsigned event_num);
+extern	MR_Unsigned	MR_standardize_call_num(MR_Unsigned call_num);
+
+/*
+** Do we want to use the debugger within this process, or do want to use
+** the Opium-style trace analyzer debugger implemented by an external process.
+** This variable is set in mercury_wrapper.c and never modified afterwards.
+*/
+
 typedef enum {
 	MR_TRACE_INTERNAL,
 	MR_TRACE_EXTERNAL
 } MR_Trace_Type;
 
 extern	MR_Trace_Type	MR_trace_handler;
-extern	MR_bool		MR_trace_enabled;
-
-extern	MR_Unsigned	MR_trace_event_number;
-extern	MR_bool		MR_trace_from_full;
 
 /*
 ** The details of I/O tabling are documented in library/table_builtin.m.
Index: runtime/mercury_wrapper.c
===================================================================
RCS file: /home/mercury1/repository/mercury/runtime/mercury_wrapper.c,v
retrieving revision 1.109
diff -u -b -r1.109 mercury_wrapper.c
--- runtime/mercury_wrapper.c	2002/08/21 11:27:43	1.109
+++ runtime/mercury_wrapper.c	2002/09/03 15:33:46
@@ -1047,6 +1047,8 @@
 				MR_calldebug    = MR_TRUE;
 			} else if (MR_streq(MR_optarg, "d")) {
 				MR_detaildebug  = MR_TRUE;
+			} else if (MR_streq(MR_optarg, "e")) {
+				MR_standardize_event_details = MR_TRUE;
 			} else if (MR_streq(MR_optarg, "f")) {
 				MR_finaldebug   = MR_TRUE;
 			} else if (MR_streq(MR_optarg, "g")) {
cvs diff: Diffing runtime/GETOPT
cvs diff: Diffing runtime/machdeps
cvs diff: Diffing samples
cvs diff: Diffing samples/c_interface
cvs diff: Diffing samples/c_interface/c_calls_mercury
cvs diff: Diffing samples/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/c_interface/mercury_calls_c
cvs diff: Diffing samples/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/diff
cvs diff: Diffing samples/muz
cvs diff: Diffing samples/rot13
cvs diff: Diffing samples/solutions
cvs diff: Diffing samples/tests
cvs diff: Diffing samples/tests/c_interface
cvs diff: Diffing samples/tests/c_interface/c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/tests/c_interface/mercury_calls_c
cvs diff: Diffing samples/tests/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/tests/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/tests/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/tests/diff
cvs diff: Diffing samples/tests/muz
cvs diff: Diffing samples/tests/rot13
cvs diff: Diffing samples/tests/solutions
cvs diff: Diffing samples/tests/toplevel
cvs diff: Diffing scripts
cvs diff: Diffing tests
Index: tests/Mmake.common
===================================================================
RCS file: /home/mercury1/repository/tests/Mmake.common,v
retrieving revision 1.29
diff -u -b -r1.29 Mmake.common
--- tests/Mmake.common	2002/09/05 12:35:59	1.29
+++ tests/Mmake.common	2002/09/06 04:16:59
@@ -59,6 +59,11 @@
 
 MDB = HOME=/nonexistent MERCURY_SUPPRESS_MDB_BANNER=yes mdb
 
+# Debugger test cases can standardize the reported event numbers and call
+# sequence numbers by using $(MDB_STD) instead of $(MDB) on the command line.
+
+MDB_STD = MERCURY_OPTIONS="$$MERCURY_OPTIONS -de" $(MDB)
+
 #-----------------------------------------------------------------------------#
 
 # .PRECIOUS: %.c %.o %_init.c
cvs diff: Diffing tests/benchmarks
cvs diff: Diffing tests/debugger
Index: tests/debugger/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/Mmakefile,v
retrieving revision 1.84
diff -u -b -r1.84 Mmakefile
--- tests/debugger/Mmakefile	2002/09/02 05:43:22	1.84
+++ tests/debugger/Mmakefile	2002/09/04 02:47:45
@@ -117,7 +117,7 @@
 	$(MDB) ./all_solutions < all_solutions.inp > all_solutions.out 2>&1
 
 breakpoints.out: breakpoints breakpoints.inp
-	$(MDB) ./breakpoints < breakpoints.inp > breakpoints.out 2>&1
+	$(MDB_STD) ./breakpoints < breakpoints.inp > breakpoints.out 2>&1
 
 # We need to pipe the output through sed to avoid hard-coding dependencies on
 # particular line numbers in the standard library source code.
@@ -128,7 +128,7 @@
 # We need to pipe the output through sed to avoid hard-coding dependencies on
 # particular line numbers in the standard library source code.
 browser_test.out: browser_test browser_test.inp
-	$(MDB) ./browser_test < browser_test.inp 2>&1 | \
+	$(MDB_STD) ./browser_test < browser_test.inp 2>&1 | \
 		sed 's/io.m:[0-9]*/io.m:NNNN/g' > browser_test.out 2>&1
 
 # We need to pipe the output through sed to avoid hard-coding dependencies on
@@ -145,20 +145,13 @@
 debugger_regs.out: debugger_regs debugger_regs.inp
 	$(MDB) ./debugger_regs < debugger_regs.inp > debugger_regs.out 2>&1
 
-# We need to pipe the output through sed to avoid hard-coding dependencies on
-# particular line numbers in the standard library source code.
-exception_value.out: exception_value exception_value.inp
-	$(MDB) ./exception_value < exception_value.inp 2>&1 | \
-		sed -e 's/exception.m:[0-9]*/exception.m:NNNN/g' | \
-		sed -e '/EXCP/s/).*/)/' > exception_value.out 2>&1
-
 # The exception_cmd, exception_vars, polymorphic_output and loopcheck tests
 # are supposed to return a non-zero exit status, since they exit by throwing
 # an exception. We strip the goal paths from their exception events, since
 # the exact goal paths are dependent on optimization level. The stripping
 # must be done outside the condition of the if-then-else.
 exception_cmd.out: exception_cmd exception_cmd.inp
-	if $(MDB) ./exception_cmd < exception_cmd.inp		\
+	if $(MDB_STD) ./exception_cmd < exception_cmd.inp		\
 		> exception_cmd.tmp 2>&1;			\
 	then							\
 		sed -e '/EXCP/s/).*/)/' < exception_cmd.tmp	\
@@ -172,8 +165,15 @@
 		true;						\
 	fi
 
+# We need to pipe the output through sed to avoid hard-coding dependencies on
+# particular line numbers in the standard library source code.
+exception_value.out: exception_value exception_value.inp
+	$(MDB_STD) ./exception_value < exception_value.inp 2>&1 | \
+		sed -e 's/exception.m:[0-9]*/exception.m:NNNN/g' | \
+		sed -e '/EXCP/s/).*/)/' > exception_value.out 2>&1
+
 exception_vars.out: exception_vars exception_vars.inp
-	if $(MDB) ./exception_vars < exception_vars.inp		\
+	if $(MDB_STD) ./exception_vars < exception_vars.inp		\
 		> exception_vars.tmp 2>&1;			\
 	then							\
 		sed -e '/EXCP/s/).*/)/' < exception_vars.tmp	\
@@ -187,20 +187,23 @@
 		true;						\
 	fi
 
-polymorphic_output.out: polymorphic_output polymorphic_output.inp
-	if $(MDB) ./polymorphic_output < polymorphic_output.inp	\
-		> polymorphic_output.tmp 2>&1;			\
-	then							\
-		sed -e '/EXCP/s/).*/)/' < polymorphic_output.tmp\
-			> polymorphic_output.out 2>&1;		\
-		rm polymorphic_output.tmp;			\
-		false;						\
-	else							\
-		sed -e '/EXCP/s/).*/)/' < polymorphic_output.tmp\
-			> polymorphic_output.out 2>&1;		\
-		rm polymorphic_output.tmp;			\
-		true;						\
-	fi
+# We need to pipe the output through sed to avoid hard-coding dependencies on
+# particular line numbers in the standard library source code.
+existential_type_classes.out: existential_type_classes \
+			existential_type_classes.inp
+	$(MDB_STD) ./existential_type_classes < existential_type_classes.inp \
+		2>&1 | sed 's/string.m:[0-9]*/string.m:NNNN/g' \
+		> existential_type_classes.out
+
+field_names.out: field_names field_names.inp
+	$(MDB) ./field_names < field_names.inp > field_names.out 2>&1
+
+higher_order.out: higher_order higher_order.inp
+	$(MDB_STD) ./higher_order < higher_order.inp > higher_order.out 2>&1
+
+implied_instance.out: implied_instance implied_instance.inp
+	$(MDB) ./implied_instance < implied_instance.inp \
+		> implied_instance.out 2>&1
 
 loopcheck.out: loopcheck loopcheck.inp
 	if $(MDB) ./loopcheck < loopcheck.inp			\
@@ -219,25 +222,8 @@
 		true;						\
 	fi
 
-# We need to pipe the output through sed to avoid hard-coding dependencies on
-# particular line numbers in the standard library source code.
-existential_type_classes.out: existential_type_classes \
-			existential_type_classes.inp
-	$(MDB) ./existential_type_classes < existential_type_classes.inp 2>&1 | \
-		sed 's/string.m:[0-9]*/string.m:NNNN/g' > existential_type_classes.out
-
-field_names.out: field_names field_names.inp
-	$(MDB) ./field_names < field_names.inp > field_names.out 2>&1
-
-higher_order.out: higher_order higher_order.inp
-	$(MDB) ./higher_order < higher_order.inp > higher_order.out 2>&1
-
-implied_instance.out: implied_instance implied_instance.inp
-	$(MDB) ./implied_instance < implied_instance.inp \
-		> implied_instance.out 2>&1
-
 interpreter.out: interpreter interpreter.inp
-	$(MDB) ./interpreter interpreter.m < interpreter.inp \
+	$(MDB_STD) ./interpreter interpreter.m < interpreter.inp \
 		> interpreter.out 2>&1
 
 lval_desc_array.out: lval_desc_array lval_desc_array.inp
@@ -256,11 +242,26 @@
 	$(MDB) ./output_term_dep < output_term_dep.inp 2>&1 | \
 		sed 's/io.m:[0-9]*/io.m:NNNN/g' > output_term_dep.out 2>&1
 
+polymorphic_output.out: polymorphic_output polymorphic_output.inp
+	if $(MDB_STD) ./polymorphic_output < polymorphic_output.inp	\
+		> polymorphic_output.tmp 2>&1;			\
+	then							\
+		sed -e '/EXCP/s/).*/)/' < polymorphic_output.tmp\
+			> polymorphic_output.out 2>&1;		\
+		rm polymorphic_output.tmp;			\
+		false;						\
+	else							\
+		sed -e '/EXCP/s/).*/)/' < polymorphic_output.tmp\
+			> polymorphic_output.out 2>&1;		\
+		rm polymorphic_output.tmp;			\
+		true;						\
+	fi
+
 print_goal.out: print_goal print_goal.inp
-	$(MDB) ./print_goal < print_goal.inp > print_goal.out 2>&1
+	$(MDB_STD) ./print_goal < print_goal.inp > print_goal.out 2>&1
 
 queens.out: queens queens.inp
-	$(MDB) ./queens < queens.inp > queens.out 2>&1
+	$(MDB_STD) ./queens < queens.inp > queens.out 2>&1
 
 queens_rep.out: queens_rep queens_rep.inp
 	$(MDB) ./queens_rep < queens_rep.inp > queens_rep.out 2>&1
@@ -287,20 +288,20 @@
 	$(MDB) ./shallow < shallow.inp > shallow.out 2>&1
 
 tabled_read.out: tabled_read tabled_read.inp tabled_read.data
-	$(MDB) ./tabled_read < tabled_read.inp > tabled_read.out 2>&1
+	$(MDB_STD) ./tabled_read < tabled_read.inp > tabled_read.out 2>&1
 
 tabled_read_unitize.out: tabled_read_unitize.data
 
 tabled_read_unitize.out: tabled_read_unitize tabled_read_unitize.inp
-	$(MDB) ./tabled_read_unitize < tabled_read_unitize.inp \
+	$(MDB_STD) ./tabled_read_unitize < tabled_read_unitize.inp \
 		> tabled_read_unitize.out 2>&1
 
 tabled_read_decl.out: tabled_read_decl tabled_read_decl.inp tabled_read_decl.data
-	$(MDB) ./tabled_read_decl < tabled_read_decl.inp \
+	$(MDB_STD) ./tabled_read_decl < tabled_read_decl.inp \
 		> tabled_read_decl.out 2>&1
 
 type_desc_test.out: type_desc_test type_desc_test.inp
-	$(MDB) ./type_desc_test < type_desc_test.inp \
+	$(MDB_STD) ./type_desc_test < type_desc_test.inp \
 		> type_desc_test.out 2>&1
 
 # When WORKSPACE is set, use $(WORKSPACE)/tools/lmc to compile the query.
Index: tests/debugger/breakpoints.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/breakpoints.exp,v
retrieving revision 1.7
diff -u -b -r1.7 breakpoints.exp
--- tests/debugger/breakpoints.exp	2002/02/11 12:52:54	1.7
+++ tests/debugger/breakpoints.exp	2002/09/05 12:31:20
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred breakpoints:main/2-0 (cc_multi) breakpoints.m:17
+      E1:     C1  1 CALL pred breakpoints:main/2-0 (cc_multi) breakpoints.m:17
 mdb> echo on
 Command echo enabled.
 mdb> register --quiet
@@ -22,7 +22,7 @@
 Which do you want to put a breakpoint on (0-1 or *)? 0
  0: + stop  interface pred breakpoints:data/1-0 (det)
 mdb> continue
-       3:      3  3 CALL pred breakpoints:data/1-0 (det) breakpoints.m:44 (breakpoints.m:42)
+      E2:     C2  3 CALL pred breakpoints:data/1-0 (det) breakpoints.m:44 (breakpoints.m:42)
 mdb> disable 0
  0: - stop  interface pred breakpoints:data/1-0 (det)
 mdb> break info
@@ -91,21 +91,21 @@
 mdb> break nodiag
  0: + stop  interface pred breakpoints:nodiag/3-0 (semidet)
 mdb> continue
-       7:      5  3 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
+      E3:     C3  3 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
 mdb> continue
-       8:      5  3 SWTC pred breakpoints:qperm/2-0 (nondet) s2; breakpoints.m:51
+      E4:     C3  3 SWTC pred breakpoints:qperm/2-0 (nondet) s2; breakpoints.m:51
 mdb> finish -N
-      12:      7  4 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+      E5:     C4  4 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
 mdb> finish -n
-      38:      7  4 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+      E6:     C4  4 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
 mdb> continue
-      39:      5  3 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
+      E7:     C3  3 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
 mdb> continue
-      40:     16  3 CALL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
+      E8:     C5  3 CALL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
 mdb> finish
-      42:     17  4 CALL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
-      45:     17  4 FAIL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
-      46:     16  3 FAIL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
+      E9:     C6  4 CALL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
+     E10:     C6  4 FAIL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
+     E11:     C5  3 FAIL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
 mdb> delete *
  0: E stop  interface pred breakpoints:nodiag/3-0 (semidet)
  1: E stop  interface pred breakpoints:qperm/2-0 (nondet)
@@ -127,14 +127,14 @@
  0: + stop  interface pred breakpoints:qperm/2-0 (nondet)
             (ignore next 3 interface events)
 mdb> continue
-      50:     11  6 REDO pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+     E12:     C7  6 REDO pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
 mdb> print *
        HeadVar__1             	[4, 5]
 mdb> ignore -E4 0
  0: + stop  interface pred breakpoints:qperm/2-0 (nondet)
             (ignore next 4 call events)
 mdb> continue
-     123:     32  8 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+     E13:     C8  8 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
 mdb> print *
        HeadVar__1             	[]
 mdb> delete *
Index: tests/debugger/breakpoints.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/breakpoints.exp2,v
retrieving revision 1.3
diff -u -b -r1.3 breakpoints.exp2
--- tests/debugger/breakpoints.exp2	2002/08/01 06:05:00	1.3
+++ tests/debugger/breakpoints.exp2	2002/09/05 16:55:44
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred breakpoints:main/2-0 (cc_multi) breakpoints.m:17
+      E1:     C1  1 CALL pred breakpoints:main/2-0 (cc_multi) breakpoints.m:17
 mdb> echo on
 Command echo enabled.
 mdb> register --quiet
@@ -22,7 +22,7 @@
 Which do you want to put a breakpoint on (0-1 or *)? 0
  0: + stop  interface pred breakpoints:data/1-0 (det)
 mdb> continue
-       3:      3  3 CALL pred breakpoints:data/1-0 (det) breakpoints.m:44 (breakpoints.m:42)
+      E2:     C2  3 CALL pred breakpoints:data/1-0 (det) breakpoints.m:44 (breakpoints.m:42)
 mdb> disable 0
  0: - stop  interface pred breakpoints:data/1-0 (det)
 mdb> break info
@@ -99,21 +99,21 @@
 mdb> break nodiag
  0: + stop  interface pred breakpoints:nodiag/3-0 (semidet)
 mdb> continue
-       7:      5  3 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
+      E3:     C3  3 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
 mdb> continue
-       8:      5  3 SWTC pred breakpoints:qperm/2-0 (nondet) s2; breakpoints.m:51
+      E4:     C3  3 SWTC pred breakpoints:qperm/2-0 (nondet) s2; breakpoints.m:51
 mdb> finish -N
-      12:      7  4 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+      E5:     C4  4 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
 mdb> finish -n
-      38:      7  4 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+      E6:     C4  4 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
 mdb> continue
-      39:      5  3 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
+      E7:     C3  3 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
 mdb> continue
-      40:     16  3 CALL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
+      E8:     C5  3 CALL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
 mdb> finish
-      42:     17  4 CALL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
-      45:     17  4 FAIL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
-      46:     16  3 FAIL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
+      E9:     C6  4 CALL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
+     E10:     C6  4 FAIL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
+     E11:     C5  3 FAIL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
 mdb> delete *
  0: E stop  interface pred breakpoints:nodiag/3-0 (semidet)
  1: E stop  interface pred breakpoints:qperm/2-0 (nondet)
@@ -135,14 +135,14 @@
  0: + stop  interface pred breakpoints:qperm/2-0 (nondet)
             (ignore next 3 interface events)
 mdb> continue
-      50:     11  6 REDO pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+     E12:     C7  6 REDO pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
 mdb> print *
        HeadVar__1             	[4, 5]
 mdb> ignore -E4 0
  0: + stop  interface pred breakpoints:qperm/2-0 (nondet)
             (ignore next 4 call events)
 mdb> continue
-     123:     32  8 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+     E13:     C8  8 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
 mdb> print *
        HeadVar__1             	[]
 mdb> delete *
Index: tests/debugger/browser_test.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/browser_test.exp,v
retrieving revision 1.12
diff -u -b -r1.12 browser_test.exp
--- tests/debugger/browser_test.exp	2002/06/05 16:41:21	1.12
+++ tests/debugger/browser_test.exp	2002/09/05 12:33:06
@@ -1,8 +1,8 @@
-       1:      1  1 CALL pred browser_test:main/2-0 (det) browser_test.m:11
+      E1:     C1  1 CALL pred browser_test:main/2-0 (det) browser_test.m:11
 mdb> echo on
 Command echo enabled.
 mdb> goto 3
-       3:      2  2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+      E2:     C2  2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
 mdb> set format pretty
 mdb> print *
        Data (arg 1)           	
@@ -97,8 +97,8 @@
 mdb> print 1^1^2^3
 mdb: the path 3 does not exist.
 mdb> retry
-       2:      2  2 CALL pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+      E3:     C2  2 CALL pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
 mdb> continue -a
-       3:      2  2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+      E2:     C2  2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
 big(big(big(small, 1, small), 2, small), 3, big(big(small, 4, big(small, 5, small)), 6, small)).
-       4:      1  1 EXIT pred browser_test:main/2-0 (det) browser_test.m:11
+      E4:     C1  1 EXIT pred browser_test:main/2-0 (det) browser_test.m:11
Index: tests/debugger/browser_test.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/browser_test.exp2,v
retrieving revision 1.13
diff -u -b -r1.13 browser_test.exp2
--- tests/debugger/browser_test.exp2	2002/06/05 16:41:21	1.13
+++ tests/debugger/browser_test.exp2	2002/09/05 16:58:13
@@ -1,8 +1,8 @@
-       1:      1  1 CALL pred browser_test:main/2-0 (det) browser_test.m:11
+      E1:     C1  1 CALL pred browser_test:main/2-0 (det) browser_test.m:11
 mdb> echo on
 Command echo enabled.
 mdb> goto 3
-       3:      2  2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+      E2:     C2  2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
 mdb> set format pretty
 mdb> print *
        Data (arg 1)           	
@@ -97,12 +97,12 @@
 mdb> print 1^1^2^3
 mdb: the path 3 does not exist.
 mdb> retry
-       2:      2  2 CALL pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+      E3:     C2  2 CALL pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
 mdb> continue -a
-       3:      2  2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
-       4:      3  2 CALL pred io:print/3-0 (det) io.m:NNNN (browser_test.m:13)
-big(big(big(small, 1, small), 2, small), 3, big(big(small, 4, big(small, 5, small)), 6, small))       5:      3  2 EXIT pred io:print/3-0 (det) io.m:NNNN (browser_test.m:13)
-       6:      4  2 CALL pred io:write_string/3-0 (det) io.m:NNNN (browser_test.m:14)
+      E2:     C2  2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+      E4:     C3  2 CALL pred io:print/3-0 (det) io.m:NNNN (browser_test.m:13)
+big(big(big(small, 1, small), 2, small), 3, big(big(small, 4, big(small, 5, small)), 6, small))      E5:     C3  2 EXIT pred io:print/3-0 (det) io.m:NNNN (browser_test.m:13)
+      E6:     C4  2 CALL pred io:write_string/3-0 (det) io.m:NNNN (browser_test.m:14)
 .
-       7:      4  2 EXIT pred io:write_string/3-0 (det) io.m:NNNN (browser_test.m:14)
-       8:      1  1 EXIT pred browser_test:main/2-0 (det) browser_test.m:11
+      E7:     C4  2 EXIT pred io:write_string/3-0 (det) io.m:NNNN (browser_test.m:14)
+      E8:     C1  1 EXIT pred browser_test:main/2-0 (det) browser_test.m:11
Index: tests/debugger/exception_cmd.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/exception_cmd.exp,v
retrieving revision 1.5
diff -u -b -r1.5 exception_cmd.exp
--- tests/debugger/exception_cmd.exp	2002/07/25 16:20:53	1.5
+++ tests/debugger/exception_cmd.exp	2002/09/05 12:31:40
@@ -1,12 +1,12 @@
-       1:      1  1 CALL pred exception_cmd:main/2-0 (det) exception_cmd.m:12
+      E1:     C1  1 CALL pred exception_cmd:main/2-0 (det) exception_cmd.m:12
 mdb> echo on
 Command echo enabled.
 mdb> exception
-       4:      2  2 EXCP pred exception_cmd:test/2-0 (det)
+      E2:     C2  2 EXCP pred exception_cmd:test/2-0 (det)
 mdb> print *
        X (arg 1)              	42
 mdb> continue
 Uncaught Mercury exception:
 Software Error: oops
-Last trace event was event #5.
-Last trace event before the unhandled exception was event #3.
+Last trace event was event #E3.
+Last trace event before the unhandled exception was event #E4.
Index: tests/debugger/exception_cmd.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/exception_cmd.exp2,v
retrieving revision 1.5
diff -u -b -r1.5 exception_cmd.exp2
--- tests/debugger/exception_cmd.exp2	2002/07/25 16:20:53	1.5
+++ tests/debugger/exception_cmd.exp2	2002/09/05 16:56:15
@@ -1,12 +1,12 @@
-       1:      1  1 CALL pred exception_cmd:main/2-0 (det) exception_cmd.m:12
+      E1:     C1  1 CALL pred exception_cmd:main/2-0 (det) exception_cmd.m:12
 mdb> echo on
 Command echo enabled.
 mdb> exception
-       5:      3  3 EXCP pred require:error/1-0 (erroneous)
+      E2:     C2  3 EXCP pred require:error/1-0 (erroneous)
 mdb> print *
        Message (arg 1)        	"oops"
 mdb> continue
 Uncaught Mercury exception:
 Software Error: oops
-Last trace event was event #9.
-Last trace event before the unhandled exception was event #4.
+Last trace event was event #E3.
+Last trace event before the unhandled exception was event #E4.
Index: tests/debugger/exception_value.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/exception_value.exp,v
retrieving revision 1.5
diff -u -b -r1.5 exception_value.exp
--- tests/debugger/exception_value.exp	2001/09/25 09:37:10	1.5
+++ tests/debugger/exception_value.exp	2002/09/05 12:31:44
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred exception_value:main/2-0 (cc_multi) exception_value.m:12
+      E1:     C1  1 CALL pred exception_value:main/2-0 (cc_multi) exception_value.m:12
 mdb> echo on
 Command echo enabled.
 mdb> register --quiet
@@ -7,9 +7,9 @@
 mdb> break q
  1: + stop  interface pred exception_value:q/1-0 (det)
 mdb> continue
-       3:      3  3 CALL pred exception_value:p/1-0 (det) exception_value.m:30
+      E2:     C2  3 CALL pred exception_value:p/1-0 (det) exception_value.m:30
 mdb> finish
-       4:      3  3 EXCP pred exception_value:p/1-0 (det)
+      E3:     C2  3 EXCP pred exception_value:p/1-0 (det)
 mdb> print exception
 	"p exception"
 mdb> continue
@@ -17,9 +17,9 @@
 This may result in some exception events
 being omitted from the trace.
 exception(univ_cons("p exception"))
-       7:      5  3 CALL pred exception_value:q/1-0 (det) exception_value.m:35
+      E4:     C3  3 CALL pred exception_value:q/1-0 (det) exception_value.m:35
 mdb> finish
-       8:      5  3 EXCP pred exception_value:q/1-0 (det)
+      E5:     C3  3 EXCP pred exception_value:q/1-0 (det)
 mdb> browse exception
 browser> set depth 9
 browser> set size 99
Index: tests/debugger/exception_value.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/exception_value.exp2,v
retrieving revision 1.5
diff -u -b -r1.5 exception_value.exp2
--- tests/debugger/exception_value.exp2	2001/09/25 09:37:10	1.5
+++ tests/debugger/exception_value.exp2	2002/09/05 16:56:22
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred exception_value:main/2-0 (cc_multi) exception_value.m:12
+      E1:     C1  1 CALL pred exception_value:main/2-0 (cc_multi) exception_value.m:12
 mdb> echo on
 Command echo enabled.
 mdb> register --quiet
@@ -7,16 +7,16 @@
 mdb> break q
  1: + stop  interface pred exception_value:q/1-0 (det)
 mdb> continue
-       4:      4  4 CALL pred exception_value:p/1-0 (det) exception_value.m:30 (exception.m:NNNN)
+      E2:     C2  4 CALL pred exception_value:p/1-0 (det) exception_value.m:30 (exception.m:NNNN)
 mdb> finish
-       7:      4  4 EXCP pred exception_value:p/1-0 (det)
+      E3:     C2  4 EXCP pred exception_value:p/1-0 (det)
 mdb> print exception
 	"p exception"
 mdb> continue
 exception(univ_cons("p exception"))
-      18:     11  4 CALL pred exception_value:q/1-0 (det) exception_value.m:35 (exception.m:NNNN)
+      E4:     C3  4 CALL pred exception_value:q/1-0 (det) exception_value.m:35 (exception.m:NNNN)
 mdb> finish
-      21:     11  4 EXCP pred exception_value:q/1-0 (det)
+      E5:     C3  4 EXCP pred exception_value:q/1-0 (det)
 mdb> browse exception
 browser> set depth 9
 browser> set size 99
Index: tests/debugger/exception_vars.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/exception_vars.exp,v
retrieving revision 1.8
diff -u -b -r1.8 exception_vars.exp
--- tests/debugger/exception_vars.exp	2002/07/25 16:20:53	1.8
+++ tests/debugger/exception_vars.exp	2002/09/05 12:31:47
@@ -1,14 +1,14 @@
-       1:      1  1 CALL pred exception_vars:main/2-0 (det) exception_vars.m:12
+      E1:     C1  1 CALL pred exception_vars:main/2-0 (det) exception_vars.m:12
 mdb> echo on
 Command echo enabled.
 mdb> goto 2
-       2:      2  2 CALL pred exception_vars:test/2-0 (det) exception_vars.m:19 (exception_vars.m:12)
+      E2:     C2  2 CALL pred exception_vars:test/2-0 (det) exception_vars.m:19 (exception_vars.m:12)
 mdb> finish
-       4:      2  2 EXCP pred exception_vars:test/2-0 (det)
+      E3:     C2  2 EXCP pred exception_vars:test/2-0 (det)
 mdb> print *
        X (arg 1)              	42
 mdb> continue
 Uncaught Mercury exception:
 Software Error: oops
-Last trace event was event #5.
-Last trace event before the unhandled exception was event #3.
+Last trace event was event #E4.
+Last trace event before the unhandled exception was event #E5.
Index: tests/debugger/existential_type_classes.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/existential_type_classes.exp,v
retrieving revision 1.12
diff -u -b -r1.12 existential_type_classes.exp
--- tests/debugger/existential_type_classes.exp	2002/06/05 16:41:22	1.12
+++ tests/debugger/existential_type_classes.exp	2002/09/05 12:31:52
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred existential_type_classes:main/2-0 (det) existential_type_classes.m:49
+      E1:     C1  1 CALL pred existential_type_classes:main/2-0 (det) existential_type_classes.m:49
 mdb> echo on
 Command echo enabled.
 mdb> alias P print *
@@ -9,192 +9,192 @@
 mdb> break -i do_foo
  0: + stop  interface pred existential_type_classes:do_foo/2-0 (det)
 mdb> continue -a
-       2:      2  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:51)
+      E2:     C2  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:51)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	42
 mdb> 
-       3:      3  3 CALL (from existential_type_classes.m:68)
+      E3:     C3  3 CALL (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
 mdb> P
        HeadVar__1             	42
 mdb> 
-       4:      4  4 CALL existential_type_classes.m:21
+      E4:     C4  4 CALL existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
 mdb> P
        HeadVar__1             	42
 mdb> continue -a
-       5:      5  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+      E5:     C5  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-       6:      5  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+      E6:     C5  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-       7:      4  4 EXIT existential_type_classes.m:21
+      E7:     C4  4 EXIT existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
-       8:      3  3 EXIT (from existential_type_classes.m:68)
+      E8:     C3  3 EXIT (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
-       9:      2  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:51)
+      E9:     C2  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:51)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	42
        N (arg 2)              	84
 mdb> continue -a
-      10:      6  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:52)
+     E10:     C6  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:52)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	"blah"
 mdb> 
-      11:      7  3 CALL (from existential_type_classes.m:68)
+     E11:     C7  3 CALL (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
 mdb> P
        HeadVar__1             	"blah"
 mdb> 
-      12:      8  4 CALL existential_type_classes.m:25
+     E12:     C8  4 CALL existential_type_classes.m:25
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____string__arity0______existential_type_classes__foo_2/2-0 (det)
 mdb> P
        HeadVar__1             	"blah"
 mdb> continue -a
-      13:      9  5 CALL existential_type_classes.m:47 (from existential_type_classes.m:25)
+     E13:     C9  5 CALL existential_type_classes.m:47 (from existential_type_classes.m:25)
                          pred existential_type_classes:string_foo/2-0 (det)
-      14:      9  5 EXIT existential_type_classes.m:47 (from existential_type_classes.m:25)
+     E14:     C9  5 EXIT existential_type_classes.m:47 (from existential_type_classes.m:25)
                          pred existential_type_classes:string_foo/2-0 (det)
-      15:      8  4 EXIT existential_type_classes.m:25
+     E15:     C8  4 EXIT existential_type_classes.m:25
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____string__arity0______existential_type_classes__foo_2/2-0 (det)
-      16:      7  3 EXIT (from existential_type_classes.m:68)
+     E16:     C7  3 EXIT (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
-      17:      6  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:52)
+     E17:     C6  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:52)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	"blah"
        N (arg 2)              	4
 mdb> continue -a
-      18:     10  2 CALL existential_type_classes.m:74 (from existential_type_classes.m:53)
+     E18:    C10  2 CALL existential_type_classes.m:74 (from existential_type_classes.m:53)
                          func existential_type_classes:my_exist_t/0-0 (det)
-      19:     10  2 EXIT existential_type_classes.m:74 (from existential_type_classes.m:53)
+     E19:    C10  2 EXIT existential_type_classes.m:74 (from existential_type_classes.m:53)
                          func existential_type_classes:my_exist_t/0-0 (det)
-      20:     11  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:53)
+     E20:    C11  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:53)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	43
 mdb> 
-      21:     12  3 CALL (from existential_type_classes.m:68)
+     E21:    C12  3 CALL (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
 mdb> P
        HeadVar__1             	43
 mdb> 
-      22:     13  4 CALL existential_type_classes.m:21
+     E22:    C13  4 CALL existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
 mdb> P
        HeadVar__1             	43
 mdb> continue -a
-      23:     14  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E23:    C14  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      24:     14  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E24:    C14  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      25:     13  4 EXIT existential_type_classes.m:21
+     E25:    C13  4 EXIT existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
-      26:     12  3 EXIT (from existential_type_classes.m:68)
+     E26:    C12  3 EXIT (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
-      27:     11  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:53)
+     E27:    C11  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:53)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	43
        N (arg 2)              	86
 mdb> continue -a
-      28:     15  2 CALL existential_type_classes.m:70 (from existential_type_classes.m:54)
+     E28:    C15  2 CALL existential_type_classes.m:70 (from existential_type_classes.m:54)
                          func existential_type_classes:call_my_exist_t/0-0 (det)
-      29:     16  3 CALL existential_type_classes.m:74 (from existential_type_classes.m:70)
+     E29:    C16  3 CALL existential_type_classes.m:74 (from existential_type_classes.m:70)
                          func existential_type_classes:my_exist_t/0-0 (det)
-      30:     16  3 EXIT existential_type_classes.m:74 (from existential_type_classes.m:70)
+     E30:    C16  3 EXIT existential_type_classes.m:74 (from existential_type_classes.m:70)
                          func existential_type_classes:my_exist_t/0-0 (det)
-      31:     15  2 EXIT existential_type_classes.m:70 (from existential_type_classes.m:54)
+     E31:    C15  2 EXIT existential_type_classes.m:70 (from existential_type_classes.m:54)
                          func existential_type_classes:call_my_exist_t/0-0 (det)
-      32:     17  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:54)
+     E32:    C17  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:54)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	43
 mdb> 
-      33:     18  3 CALL (from existential_type_classes.m:68)
+     E33:    C18  3 CALL (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
 mdb> P
        HeadVar__1             	43
 mdb> 
-      34:     19  4 CALL existential_type_classes.m:21
+     E34:    C19  4 CALL existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
 mdb> P
        HeadVar__1             	43
 mdb> continue -a
-      35:     20  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E35:    C20  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      36:     20  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E36:    C20  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      37:     19  4 EXIT existential_type_classes.m:21
+     E37:    C19  4 EXIT existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
-      38:     18  3 EXIT (from existential_type_classes.m:68)
+     E38:    C18  3 EXIT (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
-      39:     17  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:54)
+     E39:    C17  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:54)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	43
        N (arg 2)              	86
 mdb> continue -a
-      40:     21  2 CALL existential_type_classes.m:82 (from existential_type_classes.m:55)
+     E40:    C21  2 CALL existential_type_classes.m:82 (from existential_type_classes.m:55)
                          func existential_type_classes:my_univ/1-0 (det)
-      41:     21  2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:55)
+     E41:    C21  2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:55)
                          func existential_type_classes:my_univ/1-0 (det)
-      42:     22  2 CALL existential_type_classes.m:76 (from existential_type_classes.m:55)
+     E42:    C22  2 CALL existential_type_classes.m:76 (from existential_type_classes.m:55)
                          func existential_type_classes:my_univ_value/1-0 (det)
-      43:     22  2 EXIT existential_type_classes.m:76 (from existential_type_classes.m:55)
+     E43:    C22  2 EXIT existential_type_classes.m:76 (from existential_type_classes.m:55)
                          func existential_type_classes:my_univ_value/1-0 (det)
-      44:     23  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:55)
+     E44:    C23  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:55)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	45
 mdb> 
-      45:     24  3 CALL (from existential_type_classes.m:68)
+     E45:    C24  3 CALL (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
 mdb> P
        HeadVar__1             	45
 mdb> 
-      46:     25  4 CALL existential_type_classes.m:21
+     E46:    C25  4 CALL existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
 mdb> P
        HeadVar__1             	45
 mdb> continue -a
-      47:     26  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E47:    C26  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      48:     26  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E48:    C26  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      49:     25  4 EXIT existential_type_classes.m:21
+     E49:    C25  4 EXIT existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
-      50:     24  3 EXIT (from existential_type_classes.m:68)
+     E50:    C24  3 EXIT (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
-      51:     23  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:55)
+     E51:    C23  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:55)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	45
        N (arg 2)              	90
 mdb> 
-      52:     27  2 CALL existential_type_classes.m:82 (from existential_type_classes.m:56)
+     E52:    C27  2 CALL existential_type_classes.m:82 (from existential_type_classes.m:56)
                          func existential_type_classes:my_univ/1-0 (det)
 mdb> 
-      53:     27  2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:56)
+     E53:    C27  2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:56)
                          func existential_type_classes:my_univ/1-0 (det)
 mdb> 
-      54:     28  2 CALL existential_type_classes.m:72 (from existential_type_classes.m:56)
+     E54:    C28  2 CALL existential_type_classes.m:72 (from existential_type_classes.m:56)
                          func existential_type_classes:call_my_univ_value/1-0 (det)
 mdb> P
        Univ (arg 1)           	my_univ('<<c_pointer>>')
 mdb> 
-      55:     29  3 CALL existential_type_classes.m:76 (from existential_type_classes.m:72)
+     E55:    C29  3 CALL existential_type_classes.m:76 (from existential_type_classes.m:72)
                          func existential_type_classes:my_univ_value/1-0 (det)
 mdb> P
        HeadVar__1             	my_univ('<<c_pointer>>')
 mdb> continue -a
-      56:     29  3 EXIT existential_type_classes.m:76 (from existential_type_classes.m:72)
+     E56:    C29  3 EXIT existential_type_classes.m:76 (from existential_type_classes.m:72)
                          func existential_type_classes:my_univ_value/1-0 (det)
-      57:     28  2 EXIT existential_type_classes.m:72 (from existential_type_classes.m:56)
+     E57:    C28  2 EXIT existential_type_classes.m:72 (from existential_type_classes.m:56)
                          func existential_type_classes:call_my_univ_value/1-0 (det)
-      58:     30  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:56)
+     E58:    C30  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:56)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	"something"
Index: tests/debugger/existential_type_classes.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/existential_type_classes.exp2,v
retrieving revision 1.12
diff -u -b -r1.12 existential_type_classes.exp2
--- tests/debugger/existential_type_classes.exp2	2002/06/05 16:41:22	1.12
+++ tests/debugger/existential_type_classes.exp2	2002/09/05 16:56:34
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred existential_type_classes:main/2-0 (det) existential_type_classes.m:49
+      E1:     C1  1 CALL pred existential_type_classes:main/2-0 (det) existential_type_classes.m:49
 mdb> echo on
 Command echo enabled.
 mdb> alias P print *
@@ -9,196 +9,196 @@
 mdb> break -i do_foo
  0: + stop  interface pred existential_type_classes:do_foo/2-0 (det)
 mdb> continue -a
-       2:      2  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:51)
+      E2:     C2  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:51)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	42
 mdb> 
-       3:      3  3 CALL (from existential_type_classes.m:68)
+      E3:     C3  3 CALL (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
 mdb> P
        HeadVar__1             	42
 mdb> 
-       4:      4  4 CALL existential_type_classes.m:21
+      E4:     C4  4 CALL existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
 mdb> P
        HeadVar__1             	42
 mdb> continue -a
-       5:      5  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+      E5:     C5  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-       6:      5  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+      E6:     C5  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-       7:      4  4 EXIT existential_type_classes.m:21
+      E7:     C4  4 EXIT existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
-       8:      3  3 EXIT (from existential_type_classes.m:68)
+      E8:     C3  3 EXIT (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
-       9:      2  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:51)
+      E9:     C2  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:51)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	42
        N (arg 2)              	84
 mdb> continue -a
-      10:      6  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:52)
+     E10:     C6  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:52)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	"blah"
 mdb> 
-      11:      7  3 CALL (from existential_type_classes.m:68)
+     E11:     C7  3 CALL (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
 mdb> P
        HeadVar__1             	"blah"
 mdb> 
-      12:      8  4 CALL existential_type_classes.m:25
+     E12:     C8  4 CALL existential_type_classes.m:25
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____string__arity0______existential_type_classes__foo_2/2-0 (det)
 mdb> P
        HeadVar__1             	"blah"
 mdb> continue -a
-      13:      9  5 CALL existential_type_classes.m:47 (from existential_type_classes.m:25)
+     E13:     C9  5 CALL existential_type_classes.m:47 (from existential_type_classes.m:25)
                          pred existential_type_classes:string_foo/2-0 (det)
-      14:     10  6 CALL string.m:NNNN (from existential_type_classes.m:47)
+     E14:    C10  6 CALL string.m:NNNN (from existential_type_classes.m:47)
                          pred string:length/2-0 (det)
-      15:     10  6 EXIT string.m:NNNN (from existential_type_classes.m:47)
+     E15:    C10  6 EXIT string.m:NNNN (from existential_type_classes.m:47)
                          pred string:length/2-0 (det)
-      16:      9  5 EXIT existential_type_classes.m:47 (from existential_type_classes.m:25)
+     E16:     C9  5 EXIT existential_type_classes.m:47 (from existential_type_classes.m:25)
                          pred existential_type_classes:string_foo/2-0 (det)
-      17:      8  4 EXIT existential_type_classes.m:25
+     E17:     C8  4 EXIT existential_type_classes.m:25
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____string__arity0______existential_type_classes__foo_2/2-0 (det)
-      18:      7  3 EXIT (from existential_type_classes.m:68)
+     E18:     C7  3 EXIT (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
-      19:      6  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:52)
+     E19:     C6  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:52)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	"blah"
        N (arg 2)              	4
 mdb> continue -a
-      20:     11  2 CALL existential_type_classes.m:74 (from existential_type_classes.m:53)
+     E20:    C11  2 CALL existential_type_classes.m:74 (from existential_type_classes.m:53)
                          func existential_type_classes:my_exist_t/0-0 (det)
-      21:     11  2 EXIT existential_type_classes.m:74 (from existential_type_classes.m:53)
+     E21:    C11  2 EXIT existential_type_classes.m:74 (from existential_type_classes.m:53)
                          func existential_type_classes:my_exist_t/0-0 (det)
-      22:     12  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:53)
+     E22:    C12  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:53)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	43
 mdb> 
-      23:     13  3 CALL (from existential_type_classes.m:68)
+     E23:    C13  3 CALL (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
 mdb> P
        HeadVar__1             	43
 mdb> 
-      24:     14  4 CALL existential_type_classes.m:21
+     E24:    C14  4 CALL existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
 mdb> P
        HeadVar__1             	43
 mdb> continue -a
-      25:     15  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E25:    C15  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      26:     15  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E26:    C15  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      27:     14  4 EXIT existential_type_classes.m:21
+     E27:    C14  4 EXIT existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
-      28:     13  3 EXIT (from existential_type_classes.m:68)
+     E28:    C13  3 EXIT (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
-      29:     12  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:53)
+     E29:    C12  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:53)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	43
        N (arg 2)              	86
 mdb> continue -a
-      30:     16  2 CALL existential_type_classes.m:70 (from existential_type_classes.m:54)
+     E30:    C16  2 CALL existential_type_classes.m:70 (from existential_type_classes.m:54)
                          func existential_type_classes:call_my_exist_t/0-0 (det)
-      31:     17  3 CALL existential_type_classes.m:74 (from existential_type_classes.m:70)
+     E31:    C17  3 CALL existential_type_classes.m:74 (from existential_type_classes.m:70)
                          func existential_type_classes:my_exist_t/0-0 (det)
-      32:     17  3 EXIT existential_type_classes.m:74 (from existential_type_classes.m:70)
+     E32:    C17  3 EXIT existential_type_classes.m:74 (from existential_type_classes.m:70)
                          func existential_type_classes:my_exist_t/0-0 (det)
-      33:     16  2 EXIT existential_type_classes.m:70 (from existential_type_classes.m:54)
+     E33:    C16  2 EXIT existential_type_classes.m:70 (from existential_type_classes.m:54)
                          func existential_type_classes:call_my_exist_t/0-0 (det)
-      34:     18  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:54)
+     E34:    C18  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:54)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	43
 mdb> 
-      35:     19  3 CALL (from existential_type_classes.m:68)
+     E35:    C19  3 CALL (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
 mdb> P
        HeadVar__1             	43
 mdb> 
-      36:     20  4 CALL existential_type_classes.m:21
+     E36:    C20  4 CALL existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
 mdb> P
        HeadVar__1             	43
 mdb> continue -a
-      37:     21  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E37:    C21  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      38:     21  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E38:    C21  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      39:     20  4 EXIT existential_type_classes.m:21
+     E39:    C20  4 EXIT existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
-      40:     19  3 EXIT (from existential_type_classes.m:68)
+     E40:    C19  3 EXIT (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
-      41:     18  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:54)
+     E41:    C18  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:54)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	43
        N (arg 2)              	86
 mdb> continue -a
-      42:     22  2 CALL existential_type_classes.m:82 (from existential_type_classes.m:55)
+     E42:    C22  2 CALL existential_type_classes.m:82 (from existential_type_classes.m:55)
                          func existential_type_classes:my_univ/1-0 (det)
-      43:     22  2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:55)
+     E43:    C22  2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:55)
                          func existential_type_classes:my_univ/1-0 (det)
-      44:     23  2 CALL existential_type_classes.m:76 (from existential_type_classes.m:55)
+     E44:    C23  2 CALL existential_type_classes.m:76 (from existential_type_classes.m:55)
                          func existential_type_classes:my_univ_value/1-0 (det)
-      45:     23  2 EXIT existential_type_classes.m:76 (from existential_type_classes.m:55)
+     E45:    C23  2 EXIT existential_type_classes.m:76 (from existential_type_classes.m:55)
                          func existential_type_classes:my_univ_value/1-0 (det)
-      46:     24  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:55)
+     E46:    C24  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:55)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	45
 mdb> 
-      47:     25  3 CALL (from existential_type_classes.m:68)
+     E47:    C25  3 CALL (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
 mdb> P
        HeadVar__1             	45
 mdb> 
-      48:     26  4 CALL existential_type_classes.m:21
+     E48:    C26  4 CALL existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
 mdb> P
        HeadVar__1             	45
 mdb> continue -a
-      49:     27  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E49:    C27  5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      50:     27  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+     E50:    C27  5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
                          pred existential_type_classes:int_foo/2-0 (det)
-      51:     26  4 EXIT existential_type_classes.m:21
+     E51:    C26  4 EXIT existential_type_classes.m:21
                          pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
-      52:     25  3 EXIT (from existential_type_classes.m:68)
+     E52:    C25  3 EXIT (from existential_type_classes.m:68)
                          pred existential_type_classes:foo/2-0 (det)
-      53:     24  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:55)
+     E53:    C24  2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:55)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	45
        N (arg 2)              	90
 mdb> 
-      54:     28  2 CALL existential_type_classes.m:82 (from existential_type_classes.m:56)
+     E54:    C28  2 CALL existential_type_classes.m:82 (from existential_type_classes.m:56)
                          func existential_type_classes:my_univ/1-0 (det)
 mdb> 
-      55:     28  2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:56)
+     E55:    C28  2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:56)
                          func existential_type_classes:my_univ/1-0 (det)
 mdb> 
-      56:     29  2 CALL existential_type_classes.m:72 (from existential_type_classes.m:56)
+     E56:    C29  2 CALL existential_type_classes.m:72 (from existential_type_classes.m:56)
                          func existential_type_classes:call_my_univ_value/1-0 (det)
 mdb> P
        Univ (arg 1)           	my_univ('<<c_pointer>>')
 mdb> 
-      57:     30  3 CALL existential_type_classes.m:76 (from existential_type_classes.m:72)
+     E57:    C30  3 CALL existential_type_classes.m:76 (from existential_type_classes.m:72)
                          func existential_type_classes:my_univ_value/1-0 (det)
 mdb> P
        HeadVar__1             	my_univ('<<c_pointer>>')
 mdb> continue -a
-      58:     30  3 EXIT existential_type_classes.m:76 (from existential_type_classes.m:72)
+     E58:    C30  3 EXIT existential_type_classes.m:76 (from existential_type_classes.m:72)
                          func existential_type_classes:my_univ_value/1-0 (det)
-      59:     29  2 EXIT existential_type_classes.m:72 (from existential_type_classes.m:56)
+     E59:    C29  2 EXIT existential_type_classes.m:72 (from existential_type_classes.m:56)
                          func existential_type_classes:call_my_univ_value/1-0 (det)
-      60:     31  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:56)
+     E60:    C31  2 CALL existential_type_classes.m:68 (from existential_type_classes.m:56)
                          pred existential_type_classes:do_foo/2-0 (det)
 mdb> P
        X (arg 1)              	"something"
Index: tests/debugger/higher_order.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/higher_order.exp,v
retrieving revision 1.1
diff -u -b -r1.1 higher_order.exp
--- tests/debugger/higher_order.exp	2002/02/24 11:53:39	1.1
+++ tests/debugger/higher_order.exp	2002/09/05 12:32:02
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred higher_order:main/2-0 (det) higher_order.m:12
+      E1:     C1  1 CALL pred higher_order:main/2-0 (det) higher_order.m:12
 mdb> echo on
 Command echo enabled.
 mdb> context none
@@ -7,56 +7,56 @@
 mdb> set depth 100
 mdb> set format flat
 mdb> step
-       2:      2  2 CALL pred higher_order:domap/3-0 (det)
+      E2:     C2  2 CALL pred higher_order:domap/3-0 (det)
 mdb> print *
        HeadVar__1             	float_add2(3.00000000000000)
        HeadVar__2             	[|](1.00000000000000, [|](2.00000000000000, [|](3.00000000000000, [|](4.00000000000000, [|](5.00000000000000, [])))))
 mdb> finish
-      29:      2  2 EXIT pred higher_order:domap/3-0 (det)
+      E3:     C2  2 EXIT pred higher_order:domap/3-0 (det)
 mdb> print *
        HeadVar__1             	float_add2(3.00000000000000)
        HeadVar__2             	[|](1.00000000000000, [|](2.00000000000000, [|](3.00000000000000, [|](4.00000000000000, [|](5.00000000000000, [])))))
        HeadVar__3             	[|](4.00000000000000, [|](5.00000000000000, [|](6.00000000000000, [|](7.00000000000000, [|](8.00000000000000, [])))))
 mdb> step
-      30:     13  2 CALL pred higher_order:domap/3-0 (det)
+      E4:     C3  2 CALL pred higher_order:domap/3-0 (det)
 mdb> print *
        HeadVar__1             	float_op3(4.00000000000000, 5.00000000000000)
        HeadVar__2             	[|](1.00000000000000, [|](2.00000000000000, [|](3.00000000000000, [|](4.00000000000000, [|](5.00000000000000, [])))))
 mdb> finish
-      57:     13  2 EXIT pred higher_order:domap/3-0 (det)
+      E5:     C3  2 EXIT pred higher_order:domap/3-0 (det)
 mdb> print *
        HeadVar__1             	float_op3(4.00000000000000, 5.00000000000000)
        HeadVar__2             	[|](1.00000000000000, [|](2.00000000000000, [|](3.00000000000000, [|](4.00000000000000, [|](5.00000000000000, [])))))
        HeadVar__3             	[|](9.00000000000000, [|](14.0000000000000, [|](19.0000000000000, [|](24.0000000000000, [|](29.0000000000000, [])))))
 mdb> step
-      58:     24  2 CALL pred higher_order:domap/3-0 (det)
+      E6:     C4  2 CALL pred higher_order:domap/3-0 (det)
 mdb> print *
        HeadVar__1             	max(3)
        HeadVar__2             	[1, 2, 3, 4, 5]
 mdb> finish
-      75:     24  2 EXIT pred higher_order:domap/3-0 (det)
+      E7:     C4  2 EXIT pred higher_order:domap/3-0 (det)
 mdb> print *
        HeadVar__1             	max(3)
        HeadVar__2             	[1, 2, 3, 4, 5]
        HeadVar__3             	[3, 3, 3, 4, 5]
 mdb> step
-      76:     30  2 CALL pred higher_order:domap/3-0 (det)
+      E8:     C5  2 CALL pred higher_order:domap/3-0 (det)
 mdb> print *
        HeadVar__1             	'IntroducedFrom__pred__main__21__1'([6])
        HeadVar__2             	[[1, 2], [3, 4, 5]]
 mdb> finish
-      92:     30  2 EXIT pred higher_order:domap/3-0 (det)
+      E9:     C5  2 EXIT pred higher_order:domap/3-0 (det)
 mdb> print *
        HeadVar__1             	'IntroducedFrom__pred__main__21__1'([6])
        HeadVar__2             	[[1, 2], [3, 4, 5]]
        HeadVar__3             	[|]([|](6, [|](1, [|](2, []))), [|]([|](6, [|](3, [|](4, [|](5, [])))), []))
 mdb> step
-      93:     37  2 CALL pred higher_order:domap/3-0 (det)
+     E10:     C6  2 CALL pred higher_order:domap/3-0 (det)
 mdb> print *
        HeadVar__1             	'IntroducedFrom__pred__main__22__2'(["a"])
        HeadVar__2             	[|]([|]("one", [|]("two", [])), [|]([|]("three", [|]("four", [|]("five", []))), []))
 mdb> finish
-     109:     37  2 EXIT pred higher_order:domap/3-0 (det)
+     E11:     C6  2 EXIT pred higher_order:domap/3-0 (det)
 mdb> print *
        HeadVar__1             	'IntroducedFrom__pred__main__22__2'(["a"])
        HeadVar__2             	[|]([|]("one", [|]("two", [])), [|]([|]("three", [|]("four", [|]("five", []))), []))
Index: tests/debugger/interpreter.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/interpreter.exp,v
retrieving revision 1.15
diff -u -b -r1.15 interpreter.exp
--- tests/debugger/interpreter.exp	2002/06/21 16:47:32	1.15
+++ tests/debugger/interpreter.exp	2002/09/05 12:32:13
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred interpreter:main/2-0 (det) interpreter.m:34
+      E1:     C1  1 CALL pred interpreter:main/2-0 (det) interpreter.m:34
 mdb> echo on
 Command echo enabled.
 mdb> context none
@@ -8,7 +8,7 @@
 Pure Prolog Interpreter.
 
 Consulting file `interpreter.m'...
-      11:      6  5 SWTC pred interpreter:consult_until_eof_2/5-0 (det) s3;
+      E2:     C2  5 SWTC pred interpreter:consult_until_eof_2/5-0 (det) s3;
 mdb> vars
         1 HeadVar__1
         2 HeadVar__2
@@ -18,26 +18,26 @@
        HeadVar__2             	[]
        DCG_0 (arg 4)          	state('<<c_pointer>>')
 mdb> goto 30
-      30:     16 12 CALL pred interpreter:database_assert_clause/4-0 (det)
+      E3:     C3 12 CALL pred interpreter:database_assert_clause/4-0 (det)
 mdb> print *
        Database (arg 1)       	[|](clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2)), [|](clause(varset/3, functor/3, functor/3), [|](clause/3, [])))
        VarSet (arg 2)         	varset(var_supply(0), empty, empty)
        Term (arg 3)           	functor(atom(":-"), [|](functor(atom/1, [|]/2, context/2), []), context("interpreter.m", 26))
 mdb> finish -a
-      31:     16 12 ELSE pred interpreter:database_assert_clause/4-0 (det) e;
-      32:     16 12 EXIT pred interpreter:database_assert_clause/4-0 (det)
+      E4:     C3 12 ELSE pred interpreter:database_assert_clause/4-0 (det) e;
+      E5:     C3 12 EXIT pred interpreter:database_assert_clause/4-0 (det)
 mdb> print *
        Database (arg 1)       	[|](clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2)), [|](clause(varset/3, functor/3, functor/3), [|](clause/3, [])))
        VarSet (arg 2)         	varset(var_supply(0), empty, empty)
        Term (arg 3)           	functor(atom(":-"), [|](functor(atom/1, [|]/2, context/2), []), context("interpreter.m", 26))
        HeadVar__4             	[|](clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2)), [|](clause(varset/3, functor/3, functor/3), [|](clause/3, [|]/2)))
 mdb> 
-      33:     17 12 CALL pred interpreter:consult_until_eof/4-0 (det)
+      E6:     C4 12 CALL pred interpreter:consult_until_eof/4-0 (det)
 mdb> finish -n
-     677:     17 12 EXIT pred interpreter:consult_until_eof/4-0 (det)
+      E7:     C4 12 EXIT pred interpreter:consult_until_eof/4-0 (det)
 mdb> 
-     678:     15 11 EXIT pred interpreter:consult_until_eof_2/5-0 (det)
+      E8:     C5 11 EXIT pred interpreter:consult_until_eof_2/5-0 (det)
 mdb> 
-     679:     14 10 EXIT pred interpreter:consult_until_eof/4-0 (det)
+      E9:     C6 10 EXIT pred interpreter:consult_until_eof/4-0 (det)
 mdb> continue
 ?- 
Index: tests/debugger/interpreter.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/interpreter.exp2,v
retrieving revision 1.13
diff -u -b -r1.13 interpreter.exp2
--- tests/debugger/interpreter.exp2	2002/06/05 16:41:22	1.13
+++ tests/debugger/interpreter.exp2	2002/09/05 16:57:03
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred interpreter:main/2-0 (det) interpreter.m:34
+      E1:     C1  1 CALL pred interpreter:main/2-0 (det) interpreter.m:34
 mdb> echo on
 Command echo enabled.
 mdb> context none
@@ -7,7 +7,7 @@
 mdb> 10 step
 Pure Prolog Interpreter.
 
-      11:      6  3 CALL pred interpreter:consult/5-0 (det)
+      E2:     C2  3 CALL pred interpreter:consult/5-0 (det)
 mdb> vars
         1 File (arg 1)
         2 Database0 (arg 2)
@@ -18,7 +18,7 @@
        DCG_0 (arg 4)          	state('<<c_pointer>>')
 mdb> goto 30
 Consulting file `interpreter.m'...
-      30:     14  6 EXIT pred interpreter:database_assert_clause/4-0 (det)
+      E3:     C3  6 EXIT pred interpreter:database_assert_clause/4-0 (det)
 mdb> print *
        Database (arg 1)       	[]
        VarSet (arg 2)         	varset(var_supply(0), empty, empty)
@@ -32,12 +32,12 @@
        Term (arg 3)           	functor(atom(":-"), [|](functor(atom/1, [|]/2, context/2), []), context("interpreter.m", 22))
        HeadVar__4             	[|](clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2)), [])
 mdb> 
-      31:     16  6 CALL pred interpreter:consult_until_eof/4-0 (det)
+      E4:     C4  6 CALL pred interpreter:consult_until_eof/4-0 (det)
 mdb> finish -n
-    1009:     16  6 EXIT pred interpreter:consult_until_eof/4-0 (det)
+      E5:     C4  6 EXIT pred interpreter:consult_until_eof/4-0 (det)
 mdb> 
-    1010:     13  5 EXIT pred interpreter:consult_until_eof_2/5-0 (det)
+      E6:     C5  5 EXIT pred interpreter:consult_until_eof_2/5-0 (det)
 mdb> 
-    1011:     11  4 EXIT pred interpreter:consult_until_eof/4-0 (det)
+      E7:     C6  4 EXIT pred interpreter:consult_until_eof/4-0 (det)
 mdb> continue
 ?- 
Index: tests/debugger/polymorphic_output.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/polymorphic_output.exp,v
retrieving revision 1.8
diff -u -b -r1.8 polymorphic_output.exp
--- tests/debugger/polymorphic_output.exp	2002/07/25 16:20:53	1.8
+++ tests/debugger/polymorphic_output.exp	2002/09/05 12:32:40
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred polymorphic_output:main/2-0 (det) polymorphic_output.m:20
+      E1:     C1  1 CALL pred polymorphic_output:main/2-0 (det) polymorphic_output.m:20
 mdb> echo on
 Command echo enabled.
 mdb> register --quiet
@@ -7,7 +7,7 @@
 mdb> b functor_names
  0: + stop  interface func polymorphic_output:functor_names/1-0 (det)
 mdb> c
-       2:      2  2 CALL func polymorphic_output:functor_names/1-0 (det)
+      E2:     C2  2 CALL func polymorphic_output:functor_names/1-0 (det)
 mdb> delete 0
  0: E stop  interface func polymorphic_output:functor_names/1-0 (det)
 mdb> p goal
@@ -38,15 +38,15 @@
 mdb> browse goal
 browser> ^1
 browser> p
-two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two("two", 2, empty, empty))
+two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two/4)
 browser> ^..^2
 error: cannot change to subterm
 browser> p
-two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two("two", 2, empty, empty))
+two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two/4)
 browser> ^..^3
 error: cannot change to subterm
 browser> p
-two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two("two", 2, empty, empty))
+two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two/4)
 browser> ^..^r
 browser> p
 '_'
@@ -56,5 +56,5 @@
 mdb> c
 Uncaught Mercury exception:
 Software Error: det_arg: argument has wrong type
-Last trace event was event #7.
-Last trace event before the unhandled exception was event #4.
+Last trace event was event #E3.
+Last trace event before the unhandled exception was event #E4.
Index: tests/debugger/polymorphic_output.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/polymorphic_output.exp2,v
retrieving revision 1.12
diff -u -b -r1.12 polymorphic_output.exp2
--- tests/debugger/polymorphic_output.exp2	2002/07/25 16:20:53	1.12
+++ tests/debugger/polymorphic_output.exp2	2002/09/05 16:57:40
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred polymorphic_output:main/2-0 (det) polymorphic_output.m:20
+      E1:     C1  1 CALL pred polymorphic_output:main/2-0 (det) polymorphic_output.m:20
 mdb> echo on
 Command echo enabled.
 mdb> register --quiet
@@ -7,7 +7,7 @@
 mdb> b functor_names
  0: + stop  interface func polymorphic_output:functor_names/1-0 (det)
 mdb> c
-       4:      3  2 CALL func polymorphic_output:functor_names/1-0 (det)
+      E2:     C2  2 CALL func polymorphic_output:functor_names/1-0 (det)
 mdb> delete 0
  0: E stop  interface func polymorphic_output:functor_names/1-0 (det)
 mdb> p goal
@@ -54,17 +54,17 @@
 mdb> b std_util__det_arg
  0: + stop  interface func std_util:det_arg/2-0 (det)
 mdb> c
-       9:      6  4 CALL func std_util:det_arg/2-0 (det)
+      E3:     C3  4 CALL func std_util:det_arg/2-0 (det)
 mdb> P
        Type (arg 1)           	two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two/4)
        Index (arg 2)          	3
 mdb> f
-      10:      6  4 EXCP func std_util:det_arg/2-0 (det)
+      E4:     C3  4 EXCP func std_util:det_arg/2-0 (det)
 mdb> P
        Type (arg 1)           	two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two/4)
        Index (arg 2)          	3
 mdb> c
 Uncaught Mercury exception:
 Software Error: det_arg: argument has wrong type
-Last trace event was event #15.
-Last trace event before the unhandled exception was event #9.
+Last trace event was event #E5.
+Last trace event before the unhandled exception was event #E3.
Index: tests/debugger/print_goal.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/print_goal.exp,v
retrieving revision 1.3
diff -u -b -r1.3 print_goal.exp
--- tests/debugger/print_goal.exp	2002/06/21 16:47:33	1.3
+++ tests/debugger/print_goal.exp	2002/09/05 12:32:44
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred print_goal:main/2-0 (det) print_goal.m:12
+      E1:     C1  1 CALL pred print_goal:main/2-0 (det) print_goal.m:12
 mdb> echo on
 Command echo enabled.
 mdb> context none
@@ -9,16 +9,16 @@
 mdb> b print_goal
  1: + stop  interface pred print_goal:print_goal/9-0 (det)
 mdb> c
-       2:      2  2 CALL pred print_goal:big_data/1-0 (det)
+      E2:     C2  2 CALL pred print_goal:big_data/1-0 (det)
 mdb> p goal
 big_data('_')
 mdb> finish
-       3:      2  2 EXIT pred print_goal:big_data/1-0 (det)
+      E3:     C2  2 EXIT pred print_goal:big_data/1-0 (det)
 mdb> p goal
 big_data(big(big(big/3, 2, small), 3, big(big/3, 6, small)))
 mdb> c
 big(big(big(small, 1, small), 2, small), 3, big(big(small, 4, big(small, 5, small)), 6, small)).
-       4:      3  2 CALL pred print_goal:print_goal/9-0 (det)
+      E4:     C3  2 CALL pred print_goal:print_goal/9-0 (det)
 mdb> v
         1 HeadVar__1
         2 _W (arg 2)
@@ -28,7 +28,7 @@
 mdb> p goal
 print_goal(yes, 100, 101, _, _, 102, _, state(<<c_pointer>>), _)
 mdb> finish
-       6:      3  2 EXIT pred print_goal:print_goal/9-0 (det)
+      E5:     C3  2 EXIT pred print_goal:print_goal/9-0 (det)
 mdb> v
         1 HeadVar__1
         2 _W (arg 2)
@@ -43,7 +43,7 @@
 mdb> c
 103.
 103.
-       7:      4  2 CALL pred print_goal:print_goal/9-0 (det)
+      E6:     C4  2 CALL pred print_goal:print_goal/9-0 (det)
 mdb> v
         1 HeadVar__1
         2 _W (arg 2)
@@ -51,7 +51,7 @@
         4 Y (arg 6)
         5 DCG_0 (arg 8)
 mdb> finish
-       9:      4  2 EXIT pred print_goal:print_goal/9-0 (det)
+      E7:     C4  2 EXIT pred print_goal:print_goal/9-0 (det)
 mdb> v
         1 HeadVar__1
         2 _W (arg 2)
Index: tests/debugger/queens.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/queens.exp,v
retrieving revision 1.22
diff -u -b -r1.22 queens.exp
--- tests/debugger/queens.exp	2002/06/05 16:41:22	1.22
+++ tests/debugger/queens.exp	2002/09/05 12:33:15
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred queens:main/2-0 (cc_multi) queens.m:17
+      E1:     C1  1 CALL pred queens:main/2-0 (cc_multi) queens.m:17
 mdb> echo on
 Command echo enabled.
 mdb> retry 1
@@ -6,19 +6,19 @@
 mdb> print *
        DCG_0 (arg 1)          	state('<<c_pointer>>')
 mdb> 
-       2:      2  2 CALL pred queens:data/1-0 (det) queens.m:39 (queens.m:15)
+      E2:     C2  2 CALL pred queens:data/1-0 (det) queens.m:39 (queens.m:15)
 mdb> print *
 mdb: there are no live variables.
 mdb> 
-       3:      2  2 EXIT pred queens:data/1-0 (det) queens.m:39 (queens.m:15)
+      E3:     C2  2 EXIT pred queens:data/1-0 (det) queens.m:39 (queens.m:15)
 mdb> print *
        HeadVar__1             	[1, 2, 3, 4, 5]
 mdb> 
-       4:      3  2 CALL pred queens:queen/2-0 (nondet) queens.m:41 (queens.m:15)
+      E4:     C3  2 CALL pred queens:queen/2-0 (nondet) queens.m:41 (queens.m:15)
 mdb> print *
        Data (arg 1)           	[1, 2, 3, 4, 5]
 mdb> 
-       5:      4  3 CALL pred queens:qperm/2-0 (nondet) queens.m:45 (queens.m:42)
+      E5:     C4  3 CALL pred queens:qperm/2-0 (nondet) queens.m:45 (queens.m:42)
 mdb> print *
        HeadVar__1             	[1, 2, 3, 4, 5]
 mdb> print_optionals on
@@ -31,15 +31,15 @@
 mdb> print *
        HeadVar__1             	[1, 2, 3, 4, 5]
 mdb> 
-       6:      4  3 SWTC pred queens:qperm/2-0 (nondet) s2; queens.m:46
+      E6:     C4  3 SWTC pred queens:qperm/2-0 (nondet) s2; queens.m:46
 mdb> print *
        HeadVar__1             	[1, 2, 3, 4, 5]
 mdb> 
-       7:      5  4 CALL pred queens:qdelete/3-0 (nondet) queens.m:51 (queens.m:47)
+      E7:     C5  4 CALL pred queens:qdelete/3-0 (nondet) queens.m:51 (queens.m:47)
 mdb> print *
        HeadVar__2             	[1, 2, 3, 4, 5]
 mdb> 
-       8:      5  4 DISJ pred queens:qdelete/3-0 (nondet) c2;d1; queens.m:51
+      E8:     C5  4 DISJ pred queens:qdelete/3-0 (nondet) c2;d1; queens.m:51
 mdb> print *
        HeadVar__2             	[1, 2, 3, 4, 5]
 mdb> level 1
@@ -47,7 +47,7 @@
    1  pred queens:qperm/2-0 (nondet) queens.m:47
 mdb> level -d 1
 Ancestor level set to 1:
-   1       5       4    3  pred queens:qperm/2-0 (nondet) queens.m:47
+   1      E5      C4    3  pred queens:qperm/2-0 (nondet) queens.m:47
 mdb> context nextline
 Contexts will be printed on the next line.
 mdb> level 1
@@ -56,7 +56,7 @@
       queens.m:47
 mdb> level -d 1
 Ancestor level set to 1:
-   1       5       4    3  pred queens:qperm/2-0 (nondet)
+   1      E5      C4    3  pred queens:qperm/2-0 (nondet)
                            queens.m:47
 mdb> context prevline
 Contexts will be printed on the previous line.
@@ -66,7 +66,7 @@
       pred queens:qperm/2-0 (nondet)
 mdb> level -d 1
 Ancestor level set to 1:
-   1       5       4    3  queens.m:47
+   1      E5      C4    3  queens.m:47
                            pred queens:qperm/2-0 (nondet)
 mdb> print *
        HeadVar__1             	[1, 2, 3, 4, 5]
@@ -80,7 +80,7 @@
 mdb> print *
        Data (arg 1)           	[1, 2, 3, 4, 5]
 mdb> 
-       9:      5  4 EXIT queens.m:51 (from queens.m:47)
+      E9:     C5  4 EXIT queens.m:51 (from queens.m:47)
                          pred queens:qdelete/3-0 (nondet)
 mdb> print HeadVar__1
        HeadVar__1             	1
@@ -89,95 +89,95 @@
 mdb> print HeadVar__3
        HeadVar__3             	[2, 3, 4, 5]
 mdb> 
-      10:      6  4 CALL queens.m:45 (from queens.m:49)
+     E10:     C6  4 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> print *
        HeadVar__1             	[2, 3, 4, 5]
 mdb> 
-      11:      6  4 SWTC queens.m:46
+     E11:     C6  4 SWTC queens.m:46
                          pred queens:qperm/2-0 (nondet) s2;
 mdb> print *
        HeadVar__1             	[2, 3, 4, 5]
 mdb> 
-      12:      7  5 CALL queens.m:51 (from queens.m:47)
+     E12:     C7  5 CALL queens.m:51 (from queens.m:47)
                          pred queens:qdelete/3-0 (nondet)
 mdb> print *
        HeadVar__2             	[2, 3, 4, 5]
 mdb> 
-      13:      7  5 DISJ queens.m:51
+     E13:     C7  5 DISJ queens.m:51
                          pred queens:qdelete/3-0 (nondet) c2;d1;
 mdb> print *
        HeadVar__2             	[2, 3, 4, 5]
 mdb> 
-      14:      7  5 EXIT queens.m:51 (from queens.m:47)
+     E14:     C7  5 EXIT queens.m:51 (from queens.m:47)
                          pred queens:qdelete/3-0 (nondet)
 mdb> print *
        HeadVar__1             	2
        HeadVar__2             	[2, 3, 4, 5]
        HeadVar__3             	[3, 4, 5]
 mdb> 
-      15:      8  5 CALL queens.m:45 (from queens.m:49)
+     E15:     C8  5 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> goto -a 20
-      16:      8  5 SWTC queens.m:46
+     E16:     C8  5 SWTC queens.m:46
                          pred queens:qperm/2-0 (nondet) s2;
-      17:      9  6 CALL queens.m:51 (from queens.m:47)
+     E17:     C9  6 CALL queens.m:51 (from queens.m:47)
                          pred queens:qdelete/3-0 (nondet)
-      18:      9  6 DISJ queens.m:51
+     E18:     C9  6 DISJ queens.m:51
                          pred queens:qdelete/3-0 (nondet) c2;d1;
-      19:      9  6 EXIT queens.m:51 (from queens.m:47)
+     E19:     C9  6 EXIT queens.m:51 (from queens.m:47)
                          pred queens:qdelete/3-0 (nondet)
-      20:     10  6 CALL queens.m:45 (from queens.m:49)
+     E20:    C10  6 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> stack
    0    4* pred queens:qperm/2-0 (nondet) (queens.m:45 and others)
    4       pred queens:queen/2-0 (nondet) (queens.m:42)
    5       pred queens:main/2-0 (cc_multi) (queens.m:15)
 mdb> stack -d
-   0      20      10    6 pred queens:qperm/2-0 (nondet) (queens.m:45) (empty)
-   1      15       8    5 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
-   2      10       6    4 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
-   3       5       4    3 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
-   4       4       3    2 pred queens:queen/2-0 (nondet) (queens.m:42) c2;
-   5       1       1    1 pred queens:main/2-0 (cc_multi) (queens.m:15) ?;c2;q!;
+   0     E20     C10    6 pred queens:qperm/2-0 (nondet) (queens.m:45) (empty)
+   1     E15      C8    5 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
+   2     E10      C6    4 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
+   3      E5      C4    3 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
+   4      E4      C3    2 pred queens:queen/2-0 (nondet) (queens.m:42) c2;
+   5      E1      C1    1 pred queens:main/2-0 (cc_multi) (queens.m:15) ?;c2;q!;
 mdb> print *
        HeadVar__1             	[4, 5]
 mdb> 
-      21:     10  6 SWTC queens.m:46
+     E21:    C10  6 SWTC queens.m:46
                          pred queens:qperm/2-0 (nondet) s2;
 mdb> retry
-      20:     10  6 CALL queens.m:45 (from queens.m:49)
+     E20:    C10  6 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> print *
        HeadVar__1             	[4, 5]
 mdb> finish -a
-      21:     10  6 SWTC queens.m:46
+     E21:    C10  6 SWTC queens.m:46
                          pred queens:qperm/2-0 (nondet) s2;
-      22:     11  7 CALL queens.m:51 (from queens.m:47)
+     E22:    C11  7 CALL queens.m:51 (from queens.m:47)
                          pred queens:qdelete/3-0 (nondet)
-      23:     11  7 DISJ queens.m:51
+     E23:    C11  7 DISJ queens.m:51
                          pred queens:qdelete/3-0 (nondet) c2;d1;
-      24:     11  7 EXIT queens.m:51 (from queens.m:47)
+     E24:    C11  7 EXIT queens.m:51 (from queens.m:47)
                          pred queens:qdelete/3-0 (nondet)
-      25:     12  7 CALL queens.m:45 (from queens.m:49)
+     E25:    C12  7 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      26:     12  7 SWTC queens.m:46
+     E26:    C12  7 SWTC queens.m:46
                          pred queens:qperm/2-0 (nondet) s2;
-      27:     13  8 CALL queens.m:51 (from queens.m:47)
+     E27:    C13  8 CALL queens.m:51 (from queens.m:47)
                          pred queens:qdelete/3-0 (nondet)
-      28:     13  8 DISJ queens.m:51
+     E28:    C13  8 DISJ queens.m:51
                          pred queens:qdelete/3-0 (nondet) c2;d1;
-      29:     13  8 EXIT queens.m:51 (from queens.m:47)
+     E29:    C13  8 EXIT queens.m:51 (from queens.m:47)
                          pred queens:qdelete/3-0 (nondet)
-      30:     14  8 CALL queens.m:45 (from queens.m:49)
+     E30:    C14  8 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      31:     14  8 SWTC queens.m:45
+     E31:    C14  8 SWTC queens.m:45
                          pred queens:qperm/2-0 (nondet) s1;
-      32:     14  8 EXIT queens.m:45 (from queens.m:49)
+     E32:    C14  8 EXIT queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      33:     12  7 EXIT queens.m:45 (from queens.m:49)
+     E33:    C12  7 EXIT queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      34:     10  6 EXIT queens.m:45 (from queens.m:49)
+     E34:    C10  6 EXIT queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> register --quiet
 mdb> break print_list
@@ -185,41 +185,41 @@
 mdb> break qdelete
  1: + stop  interface pred queens:qdelete/3-0 (nondet)
 mdb> continue -a
-      35:      8  5 EXIT queens.m:45 (from queens.m:49)
+     E35:     C8  5 EXIT queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      36:      6  4 EXIT queens.m:45 (from queens.m:49)
+     E36:     C6  4 EXIT queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      37:      4  3 EXIT queens.m:45 (from queens.m:42)
+     E37:     C4  3 EXIT queens.m:45 (from queens.m:42)
                          pred queens:qperm/2-0 (nondet)
-      38:     15  3 CALL queens.m:55 (from queens.m:43)
+     E38:    C15  3 CALL queens.m:55 (from queens.m:43)
                          pred queens:safe/1-0 (semidet)
-      39:     15  3 SWTC queens.m:56
+     E39:    C15  3 SWTC queens.m:56
                          pred queens:safe/1-0 (semidet) s2;
-      40:     16  4 CALL queens.m:60 (from queens.m:57)
+     E40:    C16  4 CALL queens.m:60 (from queens.m:57)
                          pred queens:nodiag/3-0 (semidet)
-      41:     16  4 SWTC queens.m:61
+     E41:    C16  4 SWTC queens.m:61
                          pred queens:nodiag/3-0 (semidet) s2;
-      42:     16  4 THEN queens.m:65
+     E42:    C16  4 THEN queens.m:65
                          pred queens:nodiag/3-0 (semidet) s2;c6;t;
-      43:     16  4 FAIL queens.m:60 (from queens.m:57)
+     E43:    C16  4 FAIL queens.m:60 (from queens.m:57)
                          pred queens:nodiag/3-0 (semidet)
-      44:     15  3 FAIL queens.m:55 (from queens.m:43)
+     E44:    C15  3 FAIL queens.m:55 (from queens.m:43)
                          pred queens:safe/1-0 (semidet)
-      45:      4  3 REDO queens.m:45 (from queens.m:42)
+     E45:     C4  3 REDO queens.m:45 (from queens.m:42)
                          pred queens:qperm/2-0 (nondet)
-      46:      6  4 REDO queens.m:45 (from queens.m:49)
+     E46:     C6  4 REDO queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      47:      8  5 REDO queens.m:45 (from queens.m:49)
+     E47:     C8  5 REDO queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      48:     10  6 REDO queens.m:45 (from queens.m:49)
+     E48:    C10  6 REDO queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      49:     12  7 REDO queens.m:45 (from queens.m:49)
+     E49:    C12  7 REDO queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      50:     14  8 REDO queens.m:45 (from queens.m:49)
+     E50:    C14  8 REDO queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      51:     14  8 FAIL queens.m:45 (from queens.m:49)
+     E51:    C14  8 FAIL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      52:     13  8 REDO queens.m:51 (from queens.m:47)
+     E52:    C13  8 REDO queens.m:51 (from queens.m:47)
                          pred queens:qdelete/3-0 (nondet)
 mdb> break info
  0: + stop  interface pred queens:print_list/3-0 (det)
@@ -228,74 +228,74 @@
  0: + stop  interface pred queens:print_list/3-0 (det)
  1: + stop  interface pred queens:qdelete/3-0 (nondet)
 mdb> step -aS 5
-      53:     13  8 DISJ queens.m:52
+     E53:    C13  8 DISJ queens.m:52
                          pred queens:qdelete/3-0 (nondet) c2;d2;
-      54:     17  9 CALL queens.m:51 (from queens.m:53)
+     E54:    C17  9 CALL queens.m:51 (from queens.m:53)
                          pred queens:qdelete/3-0 (nondet)
-      55:     17  9 FAIL queens.m:51 (from queens.m:53)
+     E55:    C17  9 FAIL queens.m:51 (from queens.m:53)
                          pred queens:qdelete/3-0 (nondet)
-      56:     13  8 FAIL queens.m:51 (from queens.m:47)
+     E56:    C13  8 FAIL queens.m:51 (from queens.m:47)
                          pred queens:qdelete/3-0 (nondet)
-      57:     12  7 FAIL queens.m:45 (from queens.m:49)
+     E57:    C12  7 FAIL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> disable 1
  1: - stop  interface pred queens:qdelete/3-0 (nondet)
 mdb> retry 4
-       5:      4  3 CALL queens.m:45 (from queens.m:42)
+      E5:     C4  3 CALL queens.m:45 (from queens.m:42)
                          pred queens:qperm/2-0 (nondet)
 mdb> break 49
  2: + stop  linenumber queens.m:49
 mdb> continue -n
-      10:      6  4 CALL queens.m:45 (from queens.m:49)
+     E10:     C6  4 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> continue -n
-      15:      8  5 CALL queens.m:45 (from queens.m:49)
+     E15:     C8  5 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> continue -n
-      20:     10  6 CALL queens.m:45 (from queens.m:49)
+     E20:    C10  6 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> continue -n
-      25:     12  7 CALL queens.m:45 (from queens.m:49)
+     E25:    C12  7 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> continue -n
-      30:     14  8 CALL queens.m:45 (from queens.m:49)
+     E30:    C14  8 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> continue -n
-      32:     14  8 EXIT queens.m:45 (from queens.m:49)
+     E32:    C14  8 EXIT queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> return
-      33:     12  7 EXIT queens.m:45 (from queens.m:49)
+     E33:    C12  7 EXIT queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      34:     10  6 EXIT queens.m:45 (from queens.m:49)
+     E34:    C10  6 EXIT queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      35:      8  5 EXIT queens.m:45 (from queens.m:49)
+     E35:     C8  5 EXIT queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      36:      6  4 EXIT queens.m:45 (from queens.m:49)
+     E36:     C6  4 EXIT queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      38:     15  3 CALL queens.m:55 (from queens.m:43)
+     E38:    C15  3 CALL queens.m:55 (from queens.m:43)
                          pred queens:safe/1-0 (semidet)
 mdb> continue -n
-      46:      6  4 REDO queens.m:45 (from queens.m:49)
+     E46:     C6  4 REDO queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> continue -n
-      47:      8  5 REDO queens.m:45 (from queens.m:49)
+     E47:     C8  5 REDO queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> forward
-      48:     10  6 REDO queens.m:45 (from queens.m:49)
+     E48:    C10  6 REDO queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      49:     12  7 REDO queens.m:45 (from queens.m:49)
+     E49:    C12  7 REDO queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      50:     14  8 REDO queens.m:45 (from queens.m:49)
+     E50:    C14  8 REDO queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      51:     14  8 FAIL queens.m:45 (from queens.m:49)
+     E51:    C14  8 FAIL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
-      53:     13  8 DISJ queens.m:52
+     E53:    C13  8 DISJ queens.m:52
                          pred queens:qdelete/3-0 (nondet) c2;d2;
 mdb> continue -n
-      57:     12  7 FAIL queens.m:45 (from queens.m:49)
+     E57:    C12  7 FAIL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> continue -n
-      64:     19  7 CALL queens.m:45 (from queens.m:49)
+     E58:    C18  7 CALL queens.m:45 (from queens.m:49)
                          pred queens:qperm/2-0 (nondet)
 mdb> delete *
  0: E stop  interface pred queens:print_list/3-0 (det)
@@ -305,12 +305,12 @@
  0: + stop  interface pred queens:main/2-0 (cc_multi)
 mdb> continue -n
 [1, 3, 5, 2, 4]
-     698:      1  1 EXIT queens.m:17
+     E59:     C1  1 EXIT queens.m:17
                          pred queens:main/2-0 (cc_multi)
 mdb> retry
 Retry across I/O operations is not always safe.
 Are you sure you want to do it? yes
-       1:      1  1 CALL queens.m:17
+      E1:     C1  1 CALL queens.m:17
                          pred queens:main/2-0 (cc_multi)
 mdb> continue -n -S
 [1, 3, 5, 2, 4]
Index: tests/debugger/tabled_read.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/tabled_read.exp,v
retrieving revision 1.3
diff -u -b -r1.3 tabled_read.exp
--- tests/debugger/tabled_read.exp	2002/06/05 16:41:23	1.3
+++ tests/debugger/tabled_read.exp	2002/09/05 12:33:25
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred tabled_read:main/2-0 (det) tabled_read.m:17
+      E1:     C1  1 CALL pred tabled_read:main/2-0 (det) tabled_read.m:17
 mdb> echo on
 Command echo enabled.
 mdb> register --quiet
@@ -11,9 +11,9 @@
 mdb> table_io start
 io tabling started
 mdb> continue
-       8:      4  3 CALL pred tabled_read:test/5-0 (det)
+      E2:     C2  3 CALL pred tabled_read:test/5-0 (det)
 mdb> finish -n
-      35:      4  3 EXIT pred tabled_read:test/5-0 (det)
+      E3:     C2  3 EXIT pred tabled_read:test/5-0 (det)
 mdb> print *
        Stream (arg 1)         	'<<c_pointer>>'
        SoFar (arg 2)          	0
@@ -22,13 +22,13 @@
 mdb> retry
 Retry across I/O operations is not always safe.
 Are you sure you want to do it? y
-       8:      4  3 CALL pred tabled_read:test/5-0 (det)
+      E2:     C2  3 CALL pred tabled_read:test/5-0 (det)
 mdb> print *
        Stream (arg 1)         	'<<c_pointer>>'
        SoFar (arg 2)          	0
        DCG_0 (arg 4)          	state('<<c_pointer>>')
 mdb> finish -n
-      35:      4  3 EXIT pred tabled_read:test/5-0 (det)
+      E3:     C2  3 EXIT pred tabled_read:test/5-0 (det)
 mdb> print *
        Stream (arg 1)         	'<<c_pointer>>'
        SoFar (arg 2)          	0
@@ -39,9 +39,9 @@
 mdb> continue
 123
 456
-      66:     23  3 CALL pred tabled_read:test/5-0 (det)
+      E4:     C3  3 CALL pred tabled_read:test/5-0 (det)
 mdb> finish -n
-      89:     23  3 EXIT pred tabled_read:test/5-0 (det)
+      E5:     C3  3 EXIT pred tabled_read:test/5-0 (det)
 mdb> print *
        Stream (arg 1)         	'<<c_pointer>>'
        SoFar (arg 2)          	0
@@ -50,9 +50,9 @@
 mdb> retry
 Retry across I/O operations is not always safe.
 Are you sure you want to do it? y
-      66:     23  3 CALL pred tabled_read:test/5-0 (det)
+      E4:     C3  3 CALL pred tabled_read:test/5-0 (det)
 mdb> finish -n
-      83:     23  3 EXIT pred tabled_read:test/5-0 (det)
+      E6:     C3  3 EXIT pred tabled_read:test/5-0 (det)
 mdb> print *
        Stream (arg 1)         	'<<c_pointer>>'
        SoFar (arg 2)          	0
Index: tests/debugger/tabled_read_decl.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/tabled_read_decl.exp,v
retrieving revision 1.3
diff -u -b -r1.3 tabled_read_decl.exp
--- tests/debugger/tabled_read_decl.exp	2002/06/05 16:41:23	1.3
+++ tests/debugger/tabled_read_decl.exp	2002/09/05 12:33:36
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred tabled_read_decl:main/2-0 (det) tabled_read_decl.m:17
+      E1:     C1  1 CALL pred tabled_read_decl:main/2-0 (det) tabled_read_decl.m:17
 mdb> echo on
 Command echo enabled.
 mdb> register --quiet
@@ -11,9 +11,9 @@
 mdb> table_io start
 io tabling started
 mdb> continue
-       8:      4  3 CALL pred tabled_read_decl:test/5-0 (det)
+      E2:     C2  3 CALL pred tabled_read_decl:test/5-0 (det)
 mdb> finish -n
-      35:      4  3 EXIT pred tabled_read_decl:test/5-0 (det)
+      E3:     C2  3 EXIT pred tabled_read_decl:test/5-0 (det)
 mdb> print *
        Stream (arg 1)         	'<<c_pointer>>'
        SoFar (arg 2)          	0
@@ -22,13 +22,13 @@
 mdb> retry
 Retry across I/O operations is not always safe.
 Are you sure you want to do it? y
-       8:      4  3 CALL pred tabled_read_decl:test/5-0 (det)
+      E2:     C2  3 CALL pred tabled_read_decl:test/5-0 (det)
 mdb> print *
        Stream (arg 1)         	'<<c_pointer>>'
        SoFar (arg 2)          	0
        DCG_0 (arg 4)          	state('<<c_pointer>>')
 mdb> finish -n
-      35:      4  3 EXIT pred tabled_read_decl:test/5-0 (det)
+      E3:     C2  3 EXIT pred tabled_read_decl:test/5-0 (det)
 mdb> print *
        Stream (arg 1)         	'<<c_pointer>>'
        SoFar (arg 2)          	0
@@ -38,9 +38,9 @@
  1: + stop  interface pred tabled_read_decl:poly_test/6-0 (det)
 mdb> continue
 123
-      38:     13  3 CALL pred tabled_read_decl:poly_test/6-0 (det)
+      E4:     C3  3 CALL pred tabled_read_decl:poly_test/6-0 (det)
 mdb> finish -n
-      65:     13  3 EXIT pred tabled_read_decl:poly_test/6-0 (det)
+      E5:     C3  3 EXIT pred tabled_read_decl:poly_test/6-0 (det)
 mdb> print *
        Stream (arg 1)         	'<<c_pointer>>'
        Unused (arg 2)         	['a', 'b', 'c']
@@ -50,9 +50,9 @@
 mdb> retry
 Retry across I/O operations is not always safe.
 Are you sure you want to do it? y
-      38:     13  3 CALL pred tabled_read_decl:poly_test/6-0 (det)
+      E4:     C3  3 CALL pred tabled_read_decl:poly_test/6-0 (det)
 mdb> finish -n
-      65:     13  3 EXIT pred tabled_read_decl:poly_test/6-0 (det)
+      E5:     C3  3 EXIT pred tabled_read_decl:poly_test/6-0 (det)
 mdb> print *
        Stream (arg 1)         	'<<c_pointer>>'
        Unused (arg 2)         	['a', 'b', 'c']
@@ -66,7 +66,7 @@
  0: + stop  interface pred tabled_read_decl:part_2/3-0 (det)
 mdb> continue
 456
-      69:     22  2 CALL pred tabled_read_decl:part_2/3-0 (det)
+      E6:     C4  2 CALL pred tabled_read_decl:part_2/3-0 (det)
 mdb> table_io end
 io tabling ended
 mdb> print action 0
Index: tests/debugger/tabled_read_unitize.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/tabled_read_unitize.exp,v
retrieving revision 1.2
diff -u -b -r1.2 tabled_read_unitize.exp
--- tests/debugger/tabled_read_unitize.exp	2002/07/29 11:16:00	1.2
+++ tests/debugger/tabled_read_unitize.exp	2002/09/05 12:33:30
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred tabled_read_unitize:main/2-0 (det) tabled_read_unitize.m:17
+      E1:     C1  1 CALL pred tabled_read_unitize:main/2-0 (det) tabled_read_unitize.m:17
 mdb> echo on
 Command echo enabled.
 mdb> register --quiet
@@ -9,13 +9,13 @@
 mdb> break unitize
  0: + stop  interface pred tabled_read_unitize:unitize/4-0 (det)
 mdb> continue
-      37:     12  2 CALL pred tabled_read_unitize:unitize/4-0 (det)
+      E2:     C2  2 CALL pred tabled_read_unitize:unitize/4-0 (det)
 mdb> finish -a
-      38:     12  2 THEN pred tabled_read_unitize:unitize/4-0 (det) t;
-      39:     12  2 ELSE pred tabled_read_unitize:unitize/4-0 (det) t;c2;e;
-      40:     12  2 EXIT pred tabled_read_unitize:unitize/4-0 (det)
+      E3:     C2  2 THEN pred tabled_read_unitize:unitize/4-0 (det) t;
+      E4:     C2  2 ELSE pred tabled_read_unitize:unitize/4-0 (det) t;c2;e;
+      E5:     C2  2 EXIT pred tabled_read_unitize:unitize/4-0 (det)
 mdb> retry -f
-      37:     12  2 CALL pred tabled_read_unitize:unitize/4-0 (det)
+      E2:     C2  2 CALL pred tabled_read_unitize:unitize/4-0 (det)
 mdb> continue -S
 123
 4506
Index: tests/debugger/type_desc_test.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/type_desc_test.exp,v
retrieving revision 1.2
diff -u -b -r1.2 type_desc_test.exp
--- tests/debugger/type_desc_test.exp	2002/06/05 16:41:23	1.2
+++ tests/debugger/type_desc_test.exp	2002/09/05 12:32:58
@@ -1,4 +1,4 @@
-       1:      1  1 CALL pred type_desc_test:main/2-0 (det) type_desc_test.m:21
+      E1:     C1  1 CALL pred type_desc_test:main/2-0 (det) type_desc_test.m:21
 mdb> echo on
 Command echo enabled.
 mdb> context none
@@ -9,33 +9,33 @@
 mdb> break get_type_ctor_desc
  1: + stop  interface func type_desc_test:get_type_ctor_desc/1-0 (det)
 mdb> continue
-       3:      3  3 CALL func type_desc_test:get_type_desc/1-0 (det)
+      E2:     C2  3 CALL func type_desc_test:get_type_desc/1-0 (det)
 mdb> finish
-       4:      3  3 EXIT func type_desc_test:get_type_desc/1-0 (det)
+      E3:     C2  3 EXIT func type_desc_test:get_type_desc/1-0 (det)
 mdb> print *
        Val (arg 1)            	[1, 2]
        HeadVar__2             	list:list(int)
 mdb> continue
 type_desc: list:list(int)
-       5:      4  3 CALL func type_desc_test:get_type_ctor_desc/1-0 (det)
+      E4:     C3  3 CALL func type_desc_test:get_type_ctor_desc/1-0 (det)
 mdb> finish
-       6:      4  3 EXIT func type_desc_test:get_type_ctor_desc/1-0 (det)
+      E5:     C3  3 EXIT func type_desc_test:get_type_ctor_desc/1-0 (det)
 mdb> print *
        TypeDesc (arg 1)       	list:list(int)
        HeadVar__2             	list:list/1
 mdb> continue
 type_ctor_desc: list:list/1
-       9:      6  3 CALL func type_desc_test:get_type_desc/1-0 (det)
+      E6:     C4  3 CALL func type_desc_test:get_type_desc/1-0 (det)
 mdb> finish
-      10:      6  3 EXIT func type_desc_test:get_type_desc/1-0 (det)
+      E7:     C4  3 EXIT func type_desc_test:get_type_desc/1-0 (det)
 mdb> print *
        Val (arg 1)            	["one", "two", "three"]
        HeadVar__2             	list:list(string)
 mdb> continue
 type_desc: list:list(string)
-      11:      7  3 CALL func type_desc_test:get_type_ctor_desc/1-0 (det)
+      E8:     C5  3 CALL func type_desc_test:get_type_ctor_desc/1-0 (det)
 mdb> finish
-      12:      7  3 EXIT func type_desc_test:get_type_ctor_desc/1-0 (det)
+      E9:     C5  3 EXIT func type_desc_test:get_type_ctor_desc/1-0 (det)
 mdb> print *
        TypeDesc (arg 1)       	list:list(string)
        HeadVar__2             	list:list/1
cvs diff: Diffing tests/debugger/declarative
cvs diff: Diffing tests/dppd
cvs diff: Diffing tests/general
cvs diff: Diffing tests/general/accumulator
cvs diff: Diffing tests/general/structure_reuse
cvs diff: Diffing tests/hard_coded
cvs diff: Diffing tests/hard_coded/exceptions
cvs diff: Diffing tests/hard_coded/purity
cvs diff: Diffing tests/hard_coded/sub-modules
cvs diff: Diffing tests/hard_coded/typeclasses
cvs diff: Diffing tests/invalid
cvs diff: Diffing tests/invalid/purity
cvs diff: Diffing tests/misc_tests
cvs diff: Diffing tests/recompilation
cvs diff: Diffing tests/tabling
cvs diff: Diffing tests/term
cvs diff: Diffing tests/valid
cvs diff: Diffing tests/warnings
cvs diff: Diffing tools
cvs diff: Diffing trace
Index: trace/mercury_trace_internal.c
===================================================================
RCS file: /home/mercury1/repository/mercury/trace/mercury_trace_internal.c,v
retrieving revision 1.133
diff -u -b -r1.133 mercury_trace_internal.c
--- trace/mercury_trace_internal.c	2002/08/07 03:18:57	1.133
+++ trace/mercury_trace_internal.c	2002/09/05 02:14:35
@@ -4864,11 +4864,30 @@
 	filename = "";
 	parent_filename = "";
 
+	if (MR_standardize_event_details) {
+		char		buf[64];
+		MR_Unsigned	event_num;
+		MR_Unsigned	call_num;
+
+		event_num = MR_standardize_event_num(
+			event_info->MR_event_number);
+		call_num = MR_standardize_call_num(
+			event_info->MR_call_seqno);
+		snprintf(buf, 64, "E%ld", (long) event_num);
+		fprintf(MR_mdb_out, "%8s: ", buf);
+		snprintf(buf, 64, "C%ld", (long) call_num);
+		fprintf(MR_mdb_out, "%6s ", buf);
+		fprintf(MR_mdb_out, "%2ld %s",
+			(long) event_info->MR_call_depth,
+			MR_port_names[event_info->MR_trace_port]);
+	} else {
 	fprintf(MR_mdb_out, "%8ld: %6ld %2ld %s",
 		(long) event_info->MR_event_number,
 		(long) event_info->MR_call_seqno,
 		(long) event_info->MR_call_depth,
 		MR_port_names[event_info->MR_trace_port]);
+	}
+
 	/* the printf printed 24 characters */
 	indent = 24;
 
cvs diff: Diffing util
cvs diff: Diffing vim
cvs diff: Diffing vim/after
cvs diff: Diffing vim/ftplugin
cvs diff: Diffing vim/syntax
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list