else \
{ \
int new_size = 1000; \
- print_buffer = xmalloc (new_size); \
+ print_buffer = xmalloc_atomic (new_size); \
print_buffer_size = new_size; \
free_print_buffer = 1; \
} \
No need for specbind, since errors deactivate the mark. */
save_deactivate_mark = Vdeactivate_mark;
/* GCPRO2 (object, save_deactivate_mark); */
- prev_abort_on_gc = abort_on_gc;
- abort_on_gc = 1;
printcharfun = Vprin1_to_string_buffer;
PRINTPREPARE;
Vdeactivate_mark = save_deactivate_mark;
/* UNGCPRO; */
- abort_on_gc = prev_abort_on_gc;
return unbind_to (count, object);
}
unsigned char mbstr[MAX_MULTIBYTE_LENGTH];
ptrdiff_t len = CHAR_STRING (ch, mbstr);
Lisp_Object encoded_ch =
- ENCODE_SYSTEM (make_multibyte_string (mbstr, 1, len));
+ ENCODE_SYSTEM (make_multibyte_string ((char *) mbstr, 1, len));
fwrite (SSDATA (encoded_ch), SBYTES (encoded_ch), 1, stderr);
#ifdef WINDOWSNT
strout (outbuf, len, len, printcharfun);
}
else if (! multibyte
- && SINGLE_BYTE_CHAR_P (c) && ! ASCII_BYTE_P (c)
+ && SINGLE_BYTE_CHAR_P (c) && ! ASCII_CHAR_P (c)
&& print_escape_nonascii)
{
/* When printing in a multibyte buffer