summaryrefslogtreecommitdiff
path: root/src/print.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1998-05-25 20:29:54 +0000
committerRichard M. Stallman <rms@gnu.org>1998-05-25 20:29:54 +0000
commit38940e93efbbd73e5062665814629aafb15b2fb1 (patch)
treef9b1bc6a440c557cd36e90ce5ef618cc89e93060 /src/print.c
parent29b7163fa98cfa8e8c4b0d5027737d92f91346c4 (diff)
downloademacs-38940e93efbbd73e5062665814629aafb15b2fb1.tar.gz
(print_escape_nonascii): New variable.
(print) <Lisp_String>: Use it to force printing single-byte non-ASCII characters as octal escapes. (syms_of_print): Define print-escape-nonascii.
Diffstat (limited to 'src/print.c')
-rw-r--r--src/print.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/print.c b/src/print.c
index 879b48933c9..e9faec91188 100644
--- a/src/print.c
+++ b/src/print.c
@@ -130,6 +130,11 @@ int print_escape_newlines;
Lisp_Object Qprint_escape_newlines;
+/* Nonzero means to print single-byte non-ascii characters in strings as
+ octal escapes. */
+
+int print_escape_nonascii;
+
/* Nonzero means print (quote foo) forms as 'foo, etc. */
int print_quoted;
@@ -1248,9 +1253,10 @@ print (obj, printcharfun, escapeflag)
}
else if (SINGLE_BYTE_CHAR_P (c)
&& ! ASCII_BYTE_P (c)
- && ! NILP (current_buffer->enable_multibyte_characters))
+ && (! NILP (current_buffer->enable_multibyte_characters)
+ || print_escape_nonascii))
{
- /* When multibyte is enabled,
+ /* When multibyte is enabled or when explicitly requested,
print single-byte non-ASCII string chars
using octal escapes. */
unsigned char outbuf[5];
@@ -1807,6 +1813,12 @@ A value of nil means no limit.");
Also print formfeeds as backslash-f.");
print_escape_newlines = 0;
+ DEFVAR_BOOL ("print-escape-nonascii", &print_escape_nonascii,
+ "Non-nil means print non-ASCII characters in strings as backslash-NNN.\n\
+NNN is the octal representation of the character's value.\n\
+Only single-byte characters are affected.");
+ print_escape_nonascii = 0;
+
DEFVAR_BOOL ("print-quoted", &print_quoted,
"Non-nil means print quoted forms with reader syntax.\n\
I.e., (quote foo) prints as 'foo, (function foo) as #'foo, and, backquoted\n\