Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site umcp-cs.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!panda!talcott!harvard!seismo!umcp-cs!aks
From: aks@umcp-cs.UUCP (Alan K. Stebbens)
Newsgroups: net.emacs
Subject: Re: termcap cs string
Message-ID: <2073@umcp-cs.UUCP>
Date: Sat, 2-Nov-85 16:55:25 EST
Article-I.D.: umcp-cs.2073
Posted: Sat Nov  2 16:55:25 1985
Date-Received: Mon, 4-Nov-85 01:47:14 EST
References: <211@mit-eddie.UUCP> <364@graffiti.UUCP> <241@l5.uucp> <2687@brl-tgr.ARPA>
Reply-To: aks@maryland.UUCP (Alan K. Stebbens)
Organization: U of Maryland, Computer Science Dept., College Park, MD
Lines: 41

In article <2687@brl-tgr.ARPA> gwyn@brl-tgr.ARPA (Doug Gwyn ) writes:
>I wish the EMACS implementors would pay attention to "xo" and
>the initial terminal modes, also.  There are a lot of terminals
>that require DC3/DC1 flow control, and trying to cheat by
>supplying generous NUL padding is NOT the right solution.

I agree.  I have just recently ported GNU EMacs to our UNIX 4.2BSD, where we
have H/Z-29's at our desks for software development terminals.  The H/Z-29's
cannot have their flow control disabled, except for whether or not to use
hardware or software handshaking. Since our office's terminals are wired with
four-wire connections, we can't use hardware handshaking (at least, not without
rewiring each terminals' connector to use CTS or whatever).  Thus, software
handshaking (using XON/XOFF), are always enabled.  UNIX handles the terminals
just fine.  GNU Emacs, however, likes to use the ^S's as the "i-search" command.
I have, however, hacked in a fix to "keyboard.c" which seems to work (mostly,
it does work for the screen updates, but, currently, still represses the
^S usage until the ^Q is also sent).  Actually, the fix also included some
changes to "TrmTERM.c". The net effect was to define "UpdateBegin" and 
redefine "UpdateEnd" so that they temporarily reset the "t_stop" and "t_start"
characters to the appropriate values.  This was for "CBREAK_INPUT" mode.
For "INTERRUPT_INPUT" mode, a different approach was taken, I changed the
input available interrupt routine (the SIGIO receiver), to catch the ^S and
^Q, but only during screen updates (posted by a global variable set/cleared by
"UpdateBegin" and "UpdateEnd").

In summary, some kind of allowance for control flow should be made to GNU
Emacs (even if it means changing the action of certain characters during, or
not during, screen updates).
Also, Zenith has a newer terminal, the H/Z-49, which allows flow control to
be completely disabled; however, this will require padding at appropriate
points, but also a proportional amount to the number of normal chars output,
effectively reducing the baud rate (we use 9600 baud).

I was hoping to see the latest version of GNU Emacs to see if someone had
already fixed this problem.

-- 

Alan Stebbens
     UUCP:  ..seismo!umcp-cs!aks
     ARPA:  aks@maryland