Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site mit-athena.ARPA Path: utzoo!linus!decvax!mit-athena!martillo From: martillo@mit-athena.ARPA (Joaquim Martillo) Newsgroups: net.emacs Subject: Changes for CCA Emacs Message-ID: <63@mit-athena.ARPA> Date: Tue, 6-Nov-84 05:19:22 EST Article-I.D.: mit-athe.63 Posted: Tue Nov 6 05:19:22 1984 Date-Received: Thu, 8-Nov-84 04:38:15 EST Organization: MIT, Project Athena, Cambridge, Ma. Lines: 72 The latest version of CCA Emacs (162.45z) which we received at MIT did not run properly unless stty tabs was first executed. This requirement is a pain in the neck and is eliminated by adding a line in e_io.c in the function uncook(). After nsgb.flags |= RAW; add nsgb.flags &= ~XTABS; If you are running Berkeley 4.2BSD in a networked environment and wish to have both Start/Stop processing when not running emacs and also whish to use ^S (incremental search) and ^Q (quote character) when running emacs over the network, changes must be made in uncook() and cook(0 in e_io.c. In uncook() change #if SUN ztch.t_startc = ztch.t_stopc = '\237'; ioctl(1, TIOCSETC, &ztch); #end to #if SUN ztch.t_startc = ztch.t_stopc = '\237'; ioctl(1, TIOCSETC, &ztch); #else ztch.t_startc = ztch.t_stopc = -1; ioctl(1, TIOCSETC, &ztch); #end . When the start/stop characters are set to -1, the slave part of the pseudoterminal driver informs the master, and rlogind reads a control byte which says start/stop processing has been turned off. rlogind then sends an out of band message back to the local rlogin process to turn off start/stop processsing. To turn start/stop processing back on on leaving emacs, the following change in cook() in e_io.c should be made. Change the conditional execution of ioctl(1, TIOCSETC, &tch) for the RAW mode case for SUN to an uncondition execution in RAW mode for all systems. The code should read: if(cbreak && (strncmp(TERM, "aaa", 3) || sgb.sg_ospeed != EXTA)){ ioctl(1, TIOCSETC, &tch); ioctl(1, TIOCSLTC, <ch); } else { ioctl(1, TIOCSETC, &tch); } . This again causes the out of band message to be sent back to the local rlogin -- this time to turn back on start/stop processing.