Remove EMACS_OUTQSIZE+sleep hack.
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 4 Nov 2012 22:33:00 +0000 (14:33 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 4 Nov 2012 22:33:00 +0000 (14:33 -0800)
* 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.

src/ChangeLog
src/dispnew.c
src/systty.h

index 3356c98..75b70ee 100644 (file)
@@ -1,5 +1,13 @@
 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).
        * emacs.c (close_output_streams): Use strerror, not emacs_strerror,
        as we can't assume that emacs_strerror is initialized, and strerror
index e99387d..2ddd291 100644 (file)
@@ -4650,21 +4650,7 @@ update_frame_1 (struct frame *f, bool force_p, bool inhibit_id_p)
                  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));
-#endif
-                         outq *= 10;
-                         if (baud_rate <= outq && baud_rate > 0)
-                           sleep (outq / baud_rate);
-                       }
-                   }
+                   fflush (display_output);
                }
            }
 
index b7f36c6..0611511 100644 (file)
@@ -52,17 +52,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #endif /* not CDEL */
 #endif /* not _POSIX_VDISABLE */
 \f
-/* 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
-
-\f
 /* Manipulate a terminal's current process group.  */
 
 /* EMACS_GETPGRP (arg) returns the process group of the process.  */