From 974a6ff52fadfb760a2c291de5137ea3f9d64844 Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Sun, 18 Jan 1998 04:51:16 +0000 Subject: [PATCH] (print) : When multibyte is enabled, print single-byte non-ASCII chars using octal escapes. --- src/print.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/print.c b/src/print.c index 038e6ff3d15..0d2a29cc5c1 100644 --- a/src/print.c +++ b/src/print.c @@ -1149,8 +1149,8 @@ print (obj, printcharfun, escapeflag) PRINTCHAR ('\\'); PRINTCHAR ('f'); } - else if (! SINGLE_BYTE_CHAR_P (c) - && NILP (current_buffer->enable_multibyte_characters)) + else if ((! SINGLE_BYTE_CHAR_P (c) + && NILP (current_buffer->enable_multibyte_characters))) { /* When multibyte is disabled, print multibyte string chars using hex escapes. */ @@ -1158,6 +1158,17 @@ print (obj, printcharfun, escapeflag) sprintf (outbuf, "\\x%x", c); strout (outbuf, -1, -1, printcharfun, 0); } + else if (SINGLE_BYTE_CHAR_P (c) + && ! ASCII_BYTE_P (c) + && ! NILP (current_buffer->enable_multibyte_characters)) + { + /* When multibyte is enabled, + print single-byte non-ASCII string chars + using octal escapes. */ + unsigned char outbuf[5]; + sprintf (outbuf, "\\%03o", c); + strout (outbuf, -1, -1, printcharfun, 0); + } else { if (c == '\"' || c == '\\') -- 2.39.5