diff options
| -rw-r--r-- | src/print.c | 12 |
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. */ |