From: Chong Yidong Date: Tue, 13 May 2008 21:19:03 +0000 (+0000) Subject: (update_frame_1): Check if tty output is still valid before flushing X-Git-Tag: emacs-pretest-23.0.90~5589 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fced92f1d0de261f9b74ec07888754da88be76e7;p=emacs.git (update_frame_1): Check if tty output is still valid before flushing it. --- diff --git a/src/dispnew.c b/src/dispnew.c index ccfac545753..f61b18de444 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -5302,22 +5302,26 @@ update_frame_1 (f, force_p, inhibit_id_p) Also flush out if likely to have more than 1k buffered otherwise. I'm told that some telnet connections get really screwed by more than 1k output at once. */ - int outq = PENDING_OUTPUT_COUNT (FRAME_TTY (f)->output); - if (outq > 900 - || (outq > 20 && ((i - 1) % preempt_count == 0))) + FILE *display_output = FRAME_TTY (f)->output; + if (display_output) { - fflush (FRAME_TTY (f)->output); - if (preempt_count == 1) + int outq = PENDING_OUTPUT_COUNT (display_output); + if (outq > 900 + || (outq > 20 && ((i - 1) % preempt_count == 0))) { + fflush (display_output); + if (preempt_count == 1) + { #ifdef EMACS_OUTQSIZE - if (EMACS_OUTQSIZE (0, &outq) < 0) - /* Probably not a tty. Ignore the error and reset - the outq count. */ - outq = PENDING_OUTPUT_COUNT (FRAME_TTY (f->output)); + if (EMACS_OUTQSIZE (0, &outq) < 0) + /* Probably not a tty. Ignore the error and reset + the outq count. */ + outq = PENDING_OUTPUT_COUNT (FRAME_TTY (f->output)); #endif - outq *= 10; - if (baud_rate <= outq && baud_rate > 0) - sleep (outq / baud_rate); + outq *= 10; + if (baud_rate <= outq && baud_rate > 0) + sleep (outq / baud_rate); + } } } }