Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84 SMI; site sun.uucp Path: utzoo!watmath!clyde!bonnie!akgua!whuxlm!harpo!decvax!decwrl!sun!wmb From: wmb@sun.uucp (Mitch Bradley) Newsgroups: net.emacs Subject: Redisplay on Suns Message-ID: <2822@sun.uucp> Date: Tue, 24-Sep-85 22:59:56 EDT Article-I.D.: sun.2822 Posted: Tue Sep 24 22:59:56 1985 Date-Received: Sat, 28-Sep-85 06:52:47 EDT Organization: Sun Microsystems, Inc. Lines: 79 In response to my earlier message about using a termcap entry for Suns which omits the insert line capability, a couple of people suggested that the right thing to do is to add the multiple insert/delete lines/characters capabilities, instead of removing the insert capabilities altogether. I tried this, and I still prefer the termcap without the inserts, assuming that emacs is running on the machine which owns the bitmap. To me, the visual effect of scrolling the upper window is ugly with the insert/delete, because the lower half of the screen jumps up briefly in the midst of the process. Here's why I don't think the multiple insert/delete is such a big win over just repainting: Assume that you have two Emacs windows, and you wish to scroll the top window by (for example) 4 lines. If you have multiple insert/delete, here's the sequence of operations: (when I say "screen" here, I really mean the Sun window that emacs is running in) delete 4 lines from the top of the screen insert 4 lines just before the top mode stripe paint new lines into the space just inserted. Here's what has to happen: delete 4 lines: this requires touching the entire bitmap; first you copy the bottom of the screen up four lines, then clear the bottom four lines on the screen insert 4 lines: copy the bottom half of the screen down four lines, then clear the 4 lines just before the mode line paint 4 lines: obvious. This is roughly 6 times the amount of memory traffic to the frame buffer as results from a simple repaint of the top half of the screen. However, it does require less software overhead, because passing a character through the terminal emulator is not real cheap, due to the necessity to check for escape sequences and stuff like that. I recommend that you try it for yourself and see which you prefer; different people may have different preferences. Be sure to try scrollong the top window of two. Here are two alternative termcap entries: With multiple insert/delete (with thanks to John P. Nelson) Mu|sun|Sun Microsystems Workstation console:\ :li#34:co#80:cl=^L:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\ :ce=\E[K:cd=\E[J:so=\E[7m:se=\E[m:rs=\E[s:am:bs:km:ms:pt:\ :kd=\E[B:kl=\E[D:ku=\E[A:kr=\E[C:kh=\E[H:\ :al=\E[L:dl=\E[M:im=:ei=:ic=\E[@:dc=\E[P:\ :AL=\E[%dL:DL=\E[%dM:IC=\E[%d@:DC=\E[%dP: Without any insert/delete: Mu|sun|Sun Microsystems Workstation console:\ :li#34:co#80:cl=^L:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\ :am:bs:km:mi:ms:pt:\ :ce=\E[K:cd=\E[J:so=\E[7m:se=\E[m:\ :kd=\E[B:kl=\E[D:ku=\E[A:kr=\E[C:kh=\E[H:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ :dl=\E[M:dc=\E[P:\ :rs=\E[s: Of course, the ultimate "right thing" is to have some way of specifying a scrolling region. Perhaps this is possible; I don't know. Cheers, Mitch Brought to you by Super Global Mega Corp .com