From 1e7b329a3f5618d616a84f23dba23ae2f2649c87 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Mon, 7 Jul 2025 09:57:37 +0100 Subject: [PATCH] print_error_message: Handle user-error to the echo area specially * src/print.c (print_error_message): For a user-error that is to be printed to the echo area, use message3 in order to preserve fontification. (cherry picked from commit b03f11d9ac867833a504a2184620e531fbe43a44) --- src/print.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/print.c b/src/print.c index c14e6e1419e..fa800743497 100644 --- a/src/print.c +++ b/src/print.c @@ -1118,6 +1118,19 @@ print_error_message (Lisp_Object data, Lisp_Object stream, const char *context, tail = Fcdr_safe (data); + /* For a user-error displayed in the echo area, use message3 rather + than Fprinc in order to preserve fontification. + In particular, there might be hints to the user about key sequences + they could type to do what they seemed to want. */ + if (EQ (errname, Quser_error) && EQ (stream, Qt) + /* These should always be true for a user-error, but check, lest + we throw any information away. */ + && !NILP (XCAR (tail)) && NILP (XCDR (tail))) + { + message3 (XCAR (tail)); + return; + } + /* For file-error, make error message by concatenating all the data items. They are all strings. */ if (!NILP (file_error) && CONSP (tail)) -- 2.39.5