Commit 06b63c9b authored by Paul Eggert's avatar Paul Eggert
Browse files

Remove EMACS_OUTQSIZE+sleep hack.

* dispnew.c (update_frame_1): Remove hack for terminals slower
than 2400 bps, which throttled Emacs by having it sleep.  This
code hasn't worked since at least 2007, when the multi-tty stuff
was added, and anyway those old terminals are long dead.
* systty.h (EMACS_OUTQSIZE): Remove; unused.  The macro isn't used even
without the dispnew.c change, as dispnew.c doesn't include systty.h.
parent 76abf5e5
2012-11-04 Paul Eggert <eggert@cs.ucla.edu> 2012-11-04 Paul Eggert <eggert@cs.ucla.edu>
   
Remove EMACS_OUTQSIZE+sleep hack.
* dispnew.c (update_frame_1): Remove hack for terminals slower
than 2400 bps, which throttled Emacs by having it sleep. This
code hasn't worked since at least 2007, when the multi-tty stuff
was added, and anyway those old terminals are long dead.
* systty.h (EMACS_OUTQSIZE): Remove; unused. The macro isn't used even
without the dispnew.c change, as dispnew.c doesn't include systty.h.
Fix data-loss with --version (Bug#9574). Fix data-loss with --version (Bug#9574).
* emacs.c (close_output_streams): Use strerror, not emacs_strerror, * emacs.c (close_output_streams): Use strerror, not emacs_strerror,
as we can't assume that emacs_strerror is initialized, and strerror as we can't assume that emacs_strerror is initialized, and strerror
......
...@@ -4650,21 +4650,7 @@ update_frame_1 (struct frame *f, bool force_p, bool inhibit_id_p) ...@@ -4650,21 +4650,7 @@ update_frame_1 (struct frame *f, bool force_p, bool inhibit_id_p)
int outq = PENDING_OUTPUT_COUNT (display_output); int outq = PENDING_OUTPUT_COUNT (display_output);
if (outq > 900 if (outq > 900
|| (outq > 20 && ((i - 1) % preempt_count == 0))) || (outq > 20 && ((i - 1) % preempt_count == 0)))
{ fflush (display_output);
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));
#endif
outq *= 10;
if (baud_rate <= outq && baud_rate > 0)
sleep (outq / baud_rate);
}
}
} }
} }
......
...@@ -51,17 +51,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -51,17 +51,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define CDISABLE 255 #define CDISABLE 255
#endif /* not CDEL */ #endif /* not CDEL */
#endif /* not _POSIX_VDISABLE */ #endif /* not _POSIX_VDISABLE */
/* Get the number of characters queued for output. */
/* EMACS_OUTQSIZE(FD, int *SIZE) stores the number of characters
queued for output to the terminal FD in *SIZE, if FD is a tty.
Returns -1 if there was an error (i.e. FD is not a tty), 0
otherwise. */
#ifdef TIOCOUTQ
#define EMACS_OUTQSIZE(fd, size) (ioctl ((fd), TIOCOUTQ, (size)))
#endif
/* Manipulate a terminal's current process group. */ /* Manipulate a terminal's current process group. */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment