aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/print.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/print.c b/src/print.c
index 1e83d1907e8..fc3411fe290 100644
--- a/src/print.c
+++ b/src/print.c
@@ -300,9 +300,17 @@ print_string (string, printcharfun)
300 Lisp_Object string; 300 Lisp_Object string;
301 Lisp_Object printcharfun; 301 Lisp_Object printcharfun;
302{ 302{
303 if (EQ (printcharfun, Qnil) || EQ (printcharfun, Qt)) 303 if (EQ (printcharfun, Qt))
304 /* In predictable cases, strout is safe: output to buffer or frame. */ 304 /* strout is safe for output to a frame (echo area). */
305 strout (XSTRING (string)->data, XSTRING (string)->size, printcharfun); 305 strout (XSTRING (string)->data, XSTRING (string)->size, printcharfun);
306 else if (EQ (printcharfun, Qnil))
307 {
308#ifdef MAX_PRINT_CHARS
309 if (max_print)
310 print_chars += XSTRING (string)->size;
311#endif /* MAX_PRINT_CHARS */
312 insert_from_string (string, 0, XSTRING (string)->size, 1);
313 }
306 else 314 else
307 { 315 {
308 /* Otherwise, fetch the string address for each character. */ 316 /* Otherwise, fetch the string address for each character. */