From 240e806c988420f9a0090ad3713341224f66b41a Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 20 Jul 2002 21:48:27 +0000 Subject: [PATCH] (print_error_message): New args CONTEXT and CALLER. Calls changed. --- src/print.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/print.c b/src/print.c index 01f42ab046..42dd037146 100644 --- a/src/print.c +++ b/src/print.c @@ -920,7 +920,7 @@ DEFUN ("error-message-string", Ferror_message_string, Serror_message_string, && NILP (XCDR (XCDR (obj)))) return XCAR (XCDR (obj)); - print_error_message (obj, Vprin1_to_string_buffer); + print_error_message (obj, Vprin1_to_string_buffer, 0, Qnil); set_buffer_internal (XBUFFER (Vprin1_to_string_buffer)); value = Fbuffer_string (); @@ -937,13 +937,27 @@ DEFUN ("error-message-string", Ferror_message_string, Serror_message_string, STREAM (suitable for the print functions). */ void -print_error_message (data, stream) +print_error_message (data, stream, context, caller) Lisp_Object data, stream; + char *context; + Lisp_Object caller; { Lisp_Object errname, errmsg, file_error, tail; struct gcpro gcpro1; int i; + if (context != 0) + write_string_1 (context, -1, stream); + + /* If we know from where the error was signaled, show it in + *Messages*. */ + if (!NILP (caller) && SYMBOLP (caller)) + { + const char *name = SDATA (SYMBOL_NAME (caller)); + message_dolog (name, strlen (name), 0, 0); + message_dolog (": ", 2, 0, 0); + } + errname = Fcar (data); if (EQ (errname, Qerror)) -- 2.20.1