diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/buffer.c | 11 | ||||
| -rw-r--r-- | src/print.c | 12 | ||||
| -rw-r--r-- | src/xdisp.c | 11 |
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 | |||
| 5806 | An integer N as value means display only lines | 5807 | An integer N as value means display only lines |
| 5807 | that start with less than N columns of space. | 5808 | that start with less than N columns of space. |
| 5809 | |||
| 5808 | A value of t means that the character ^M makes itself and | 5810 | A value of t means that the character ^M makes itself and |
| 5809 | all the rest of the line invisible; also, when saving the buffer | 5811 | all the rest of the line invisible; also, when saving the buffer |
| 5810 | in a file, save the ^M as a newline. */); | 5812 | in a file, save the ^M as a newline. This usage is obsolete; use |
| 5813 | overlays 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 | ||
| 6202 | Lisp programs may give this variable certain special values: | 6205 | Lisp 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) |