diff options
author | Richard M. Stallman <rms@gnu.org> | 2002-03-03 20:04:17 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2002-03-03 20:04:17 +0000 |
commit | ae7367d33b9b0762667345b480f1ee3f22479828 (patch) | |
tree | 71da47c386861063c24530525ce95b003ea82099 /src/print.c | |
parent | ae02e06a51271468e880d85acff4b600a9cb2421 (diff) | |
download | emacs-ae7367d33b9b0762667345b480f1ee3f22479828.tar.gz |
(print_object): Output multibyte chars 128...255
using \x even if ! print_escape_multibyte.
Diffstat (limited to 'src/print.c')
-rw-r--r-- | src/print.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/print.c b/src/print.c index f0501bd0fb7..6f9d4a0120c 100644 --- a/src/print.c +++ b/src/print.c @@ -1429,11 +1429,15 @@ print_object (obj, printcharfun, escapeflag) PRINTCHAR ('\\'); PRINTCHAR ('f'); } - else if (multibyte && ! ASCII_BYTE_P (c) - && print_escape_multibyte) + else if (multibyte + && ! ASCII_BYTE_P (c) + && (SINGLE_BYTE_CHAR_P (c) || print_escape_multibyte)) { /* When multibyte is disabled, - print multibyte string chars using hex escapes. */ + print multibyte string chars using hex escapes. + For a char code that could be in a unibyte string, + when found in a multibyte string, always use a hex escape + so it reads back as multibyte. */ unsigned char outbuf[50]; sprintf (outbuf, "\\x%x", c); strout (outbuf, -1, -1, printcharfun, 0); |