Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!nrl-cmf!cmcl2!brl-adm!brl-smoke!gwyn
From: gwyn@brl-smoke.ARPA (Doug Gwyn )
Newsgroups: comp.terminals
Subject: Re: character insert: ic, im, ei, ip?
Message-ID: <7866@brl-smoke.ARPA>
Date: 11 May 88 13:51:10 GMT
References: <8700002@uiucdcsm>
Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) )
Organization: Ballistic Research Lab (BRL), APG, MD.
Lines: 49

In article <8700002@uiucdcsm> kkim@uiucdcsm.cs.uiuc.edu writes:
>    i got confused about the following termcap entries used 
>in unix systems: ic, im, ei, ip.  ...

>Q: what is the difference between these two?  some simple example
>will help.

start with the following on the display, with the cursor between
the "a"s and the "b"s.
aaaaabbbbb

The "ic" code produces
aaaaa bbbbb

The "im" code produces
aaaaabbbbb
(no visible change, just an internal mode is set)

The "ic" code followed by "ccc" produces
aaaaacccbbb
The first character was in effect inserted (actually it overwrote a
blank that the "ic" code inserted) and the following characters just
do the normal thing, namely overwrite what is on the display.

The "im" code followed by "ccc" produces
aaaaacccbbbbb
You'd better do an "ei" to get out of insert mode.

>Q: my Qume QVT-101 terminal needs "ESCAPE Q" to insert a character.
>which of the two types does my terminal belong to?  shall i give
>"\EQ" to "ic" or "im"?

"ic" inserts just ONE following character after which the terminal
reverts to overwrite mode.
"im" initiates a mode in which ALL subsequent characters are inserted
until the "ei" string is sent.
One cannot tell from your description which of the two cases applies.
My guess would be "im" with ei=\ER, because that's what HP terminals do.

>Q: what is the difference between ip and ei?  also what is "post
>insert padding" and when is it required?  some example will help.

Padding is used to cause a delay while some time-consuming operation
occurs during which additional screen formatting instructions could
be lost.  Delay might be necessary for insertion of each character
because it takes time for the terminal to copy the block of characters
that has to be moved to new locations in its display memory.

"ei" undoes the effect of "im" and has nothing to do with padding.