comparison src/print.c @ 22605:c3ffffc994d1

(PRINTFINISH): Convert text to unibyte before inserting in a unibyte buffer.
author Richard M. Stallman <rms@gnu.org>
date Wed, 24 Jun 1998 18:32:53 +0000
parents f2d3eeec754e
children f85d55276ec5
comparison
equal deleted inserted replaced
22604:51f68ee599f8 22605:c3ffffc994d1
278 print_buffer_pos_byte = 0; \ 278 print_buffer_pos_byte = 0; \
279 } \ 279 } \
280 if (!CONSP (Vprint_gensym)) \ 280 if (!CONSP (Vprint_gensym)) \
281 Vprint_gensym_alist = Qnil 281 Vprint_gensym_alist = Qnil
282 282
283 #define PRINTFINISH \ 283 #define PRINTFINISH \
284 if (NILP (printcharfun)) \ 284 if (NILP (printcharfun)) \
285 insert_1_both (print_buffer, print_buffer_pos, \ 285 { \
286 print_buffer_pos_byte, 0, 1, 0); \ 286 if (print_buffer_pos != print_buffer_pos_byte \
287 if (free_print_buffer) \ 287 && NILP (current_buffer->enable_multibyte_characters)) \
288 { \ 288 { \
289 xfree (print_buffer); \ 289 unsigned char *temp \
290 print_buffer = 0; \ 290 = (unsigned char *) alloca (print_buffer_pos + 1); \
291 } \ 291 copy_text (print_buffer, temp, print_buffer_pos_byte, \
292 unbind_to (specpdl_count, Qnil); \ 292 1, 0); \
293 if (MARKERP (original)) \ 293 insert_1_both (temp, print_buffer_pos, \
294 set_marker_both (original, Qnil, PT, PT_BYTE); \ 294 print_buffer_pos, 0, 1, 0); \
295 if (old_point >= 0) \ 295 } \
296 SET_PT_BOTH (old_point + (old_point >= start_point \ 296 else \
297 ? PT - start_point : 0), \ 297 insert_1_both (print_buffer, print_buffer_pos, \
298 print_buffer_pos_byte, 0, 1, 0); \
299 } \
300 if (free_print_buffer) \
301 { \
302 xfree (print_buffer); \
303 print_buffer = 0; \
304 } \
305 unbind_to (specpdl_count, Qnil); \
306 if (MARKERP (original)) \
307 set_marker_both (original, Qnil, PT, PT_BYTE); \
308 if (old_point >= 0) \
309 SET_PT_BOTH (old_point + (old_point >= start_point \
310 ? PT - start_point : 0), \
298 old_point_byte + (old_point_byte >= start_point_byte \ 311 old_point_byte + (old_point_byte >= start_point_byte \
299 ? PT_BYTE - start_point_byte : 0)); \ 312 ? PT_BYTE - start_point_byte : 0)); \
300 if (old != current_buffer) \ 313 if (old != current_buffer) \
301 set_buffer_internal (old); \ 314 set_buffer_internal (old); \
302 if (!CONSP (Vprint_gensym)) \ 315 if (!CONSP (Vprint_gensym)) \
303 Vprint_gensym_alist = Qnil 316 Vprint_gensym_alist = Qnil
304 317
305 #define PRINTCHAR(ch) printchar (ch, printcharfun) 318 #define PRINTCHAR(ch) printchar (ch, printcharfun)
306 319
307 /* Nonzero if there is no room to print any more characters 320 /* Nonzero if there is no room to print any more characters