Contents | < Browse | Browse >
When There Is Not Enough Padding
--------------------------------

   There are several common manifestations of insufficient padding.

   * Emacs displays `I-search: ^Q-' at the bottom of the screen.

     This means that the terminal thought its buffer was getting full of
     display commands, so it tried to tell the computer to stop sending
     any.

   * The screen is garbled intermittently, or the details of garbling
     vary when you repeat the action.  (A garbled screen could be due
     to a command which is simply incorrect, or to user option in the
     terminal which doesn't match the assumptions of the terminal
     description, but this usually leads to reproducible failure.)

     This means that the buffer did get full, and some commands were
     lost.  Many changeable factors can change which ones are lost.

   * Screen is garbled at high output speeds but not at low speeds.
     Padding problems nearly always go away at low speeds, usually even
     at 1200 baud.

     This means that a high enough speed permits commands to arrive
     faster than they can be executed.

   Although any obscure command on an obscure terminal might lack
padding, in practice problems arise most often from the clearing
commands `cl' and `cd' (Clearing), the scrolling commands `sf'
and `sr' (Scrolling), and the line insert/delete commands `al'
and `dl' (Insdel Line).

   Occasionally the terminal description fails to define `sf' and some
programs will use `do' instead, so you may get a problem with `do'.  If
so, first define `sf' just like `do', then add some padding to `sf'.

   The best strategy is to add a lot of padding at first, perhaps 200
msec.  This is much more than enough; in fact, it should cause a
visible slowdown.  (If you don't see a slowdown, the change has not
taken effect; Changing.)  If this makes the problem go away,
you have found the right place to add padding; now reduce the amount
until the problem comes back, then increase it again.  If the problem
remains, either it is in some other capability or it is not a matter of
padding at all.

   Keep in mind that on many terminals the correct padding for
insert/delete line or for scrolling is cursor-position dependent.  If
you get problems from scrolling a large region of the screen but not
from scrolling a small part (just a few lines moving), it may mean that
fixed padding should be replaced with position-dependent padding.