aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buffer.c11
-rw-r--r--src/print.c12
-rw-r--r--src/xdisp.c11
3 files changed, 28 insertions, 6 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 51c36de0c6b..3f9371652e7 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -5803,11 +5803,14 @@ you probably should set this to -2 in that buffer. */);
5803 DEFVAR_PER_BUFFER ("selective-display", &BVAR (current_buffer, selective_display), 5803 DEFVAR_PER_BUFFER ("selective-display", &BVAR (current_buffer, selective_display),
5804 Qnil, 5804 Qnil,
5805 doc: /* Non-nil enables selective display. 5805 doc: /* Non-nil enables selective display.
5806
5806An integer N as value means display only lines 5807An integer N as value means display only lines
5807that start with less than N columns of space. 5808that start with less than N columns of space.
5809
5808A value of t means that the character ^M makes itself and 5810A value of t means that the character ^M makes itself and
5809all the rest of the line invisible; also, when saving the buffer 5811all the rest of the line invisible; also, when saving the buffer
5810in a file, save the ^M as a newline. */); 5812in a file, save the ^M as a newline. This usage is obsolete; use
5813overlays or text properties instead. */);
5811 5814
5812 DEFVAR_PER_BUFFER ("selective-display-ellipses", 5815 DEFVAR_PER_BUFFER ("selective-display-ellipses",
5813 &BVAR (current_buffer, selective_display_ellipses), 5816 &BVAR (current_buffer, selective_display_ellipses),
@@ -6201,11 +6204,11 @@ all windows or just the selected window.
6201 6204
6202Lisp programs may give this variable certain special values: 6205Lisp programs may give this variable certain special values:
6203 6206
6204- A value of \\='lambda (literally) enables Transient Mark mode temporarily. 6207- The symbol `lambda' enables Transient Mark mode temporarily.
6205 It is disabled again after any subsequent action that would 6208 The mode is disabled again after any subsequent action that would
6206 normally deactivate the mark (e.g. buffer modification). 6209 normally deactivate the mark (e.g. buffer modification).
6207 6210
6208- A value of (only . OLDVAL) enables Transient Mark mode 6211- The pair (only . OLDVAL) enables Transient Mark mode
6209 temporarily. After any subsequent point motion command that is 6212 temporarily. After any subsequent point motion command that is
6210 not shift-translated, or any other action that would normally 6213 not shift-translated, or any other action that would normally
6211 deactivate the mark (e.g. buffer modification), the value of 6214 deactivate the mark (e.g. buffer modification), the value of
diff --git a/src/print.c b/src/print.c
index 975675014d9..269d8f250e2 100644
--- a/src/print.c
+++ b/src/print.c
@@ -200,6 +200,13 @@ printchar_to_stream (unsigned int ch, FILE *stream)
200{ 200{
201 Lisp_Object dv IF_LINT (= Qnil); 201 Lisp_Object dv IF_LINT (= Qnil);
202 ptrdiff_t i = 0, n = 1; 202 ptrdiff_t i = 0, n = 1;
203 Lisp_Object coding_system = Vlocale_coding_system;
204 bool encode_p = false;
205
206 if (!NILP (Vcoding_system_for_write))
207 coding_system = Vcoding_system_for_write;
208 if (!NILP (coding_system))
209 encode_p = true;
203 210
204 if (CHAR_VALID_P (ch) && DISP_TABLE_P (Vstandard_display_table)) 211 if (CHAR_VALID_P (ch) && DISP_TABLE_P (Vstandard_display_table))
205 { 212 {
@@ -228,8 +235,11 @@ printchar_to_stream (unsigned int ch, FILE *stream)
228 unsigned char mbstr[MAX_MULTIBYTE_LENGTH]; 235 unsigned char mbstr[MAX_MULTIBYTE_LENGTH];
229 int len = CHAR_STRING (ch, mbstr); 236 int len = CHAR_STRING (ch, mbstr);
230 Lisp_Object encoded_ch = 237 Lisp_Object encoded_ch =
231 ENCODE_SYSTEM (make_multibyte_string ((char *) mbstr, 1, len)); 238 make_multibyte_string ((char *) mbstr, 1, len);
232 239
240 if (encode_p)
241 encoded_ch = code_convert_string_norecord (encoded_ch,
242 coding_system, true);
233 fwrite (SSDATA (encoded_ch), 1, SBYTES (encoded_ch), stream); 243 fwrite (SSDATA (encoded_ch), 1, SBYTES (encoded_ch), stream);
234#ifdef WINDOWSNT 244#ifdef WINDOWSNT
235 if (print_output_debug_flag && stream == stderr) 245 if (print_output_debug_flag && stream == stderr)
diff --git a/src/xdisp.c b/src/xdisp.c
index b18bfd0d49d..ee748bd8680 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -10206,7 +10206,16 @@ message_to_stderr (Lisp_Object m)
10206 } 10206 }
10207 if (STRINGP (m)) 10207 if (STRINGP (m))
10208 { 10208 {
10209 Lisp_Object s = ENCODE_SYSTEM (m); 10209 Lisp_Object coding_system = Vlocale_coding_system;
10210 Lisp_Object s;
10211
10212 if (!NILP (Vcoding_system_for_write))
10213 coding_system = Vcoding_system_for_write;
10214 if (!NILP (coding_system))
10215 s = code_convert_string_norecord (m, coding_system, true);
10216 else
10217 s = m;
10218
10210 fwrite (SDATA (s), SBYTES (s), 1, stderr); 10219 fwrite (SDATA (s), SBYTES (s), 1, stderr);
10211 } 10220 }
10212 if (!cursor_in_echo_area) 10221 if (!cursor_in_echo_area)