[comp.emacs] Gnu Emacs ^S problem with telnet.

conway@hpdtl.HP.COM (Daniel F. Conway) (02/22/89)

I frequently run Gnu emacs on a remote host via telnet.  One problem that I
have with this procedure which I have not yet been able to solve is the fact
that telnet doesn't ever seem to go into completely raw mode in Gnu emacs.  In
particular, ^S remains cooked, and thus is never passed to emacs.  This is
extremely annoying because it slows me down considerably when I am trying to
search or save a file.  Rather than use a single keystroke or two, I must type
in the name of the search or save function.

This appears to be a telnet problem rather than an emacs problem, but I am not
completely certain.  Is there some reason why Gnu emacs is unable to put
telnet completely into raw mode?  I am able to do this manually by executing
the command 'stty raw'.

I am using Gnu emacs versions 18.51 and 18.52 on HP 9000 series 300 and series
800 machines.

I am posting this here in the hope that someone else has seen this problem
and has a solution.

Dan Conway
dan_conway@hplabs.hp.com

conway@hpdtl.HP.COM (Daniel F. Conway) (02/23/89)

> Is there some reason why Gnu emacs is unable to put
> telnet completely into raw mode?  I am able to do this manually by executing
> the command 'stty raw'.

It turns out that 'stty raw' in a telnet session has the same problem; ^S
remains cooked.

Dan Conway
dan_conway@hplabs.hp.com

conway@hpdtl.HP.COM (Daniel F. Conway) (02/25/89)

Denys Duchier just wrote me to point out that executing the command
'stty -ixon' *before* telnet takes care of the ^S problem.  Thank you to all
who responded, especially Denys.

Dan Conway
dan_conway@hplabs.hp.com

hedrick@geneva.rutgers.edu (Charles Hedrick) (02/25/89)

Unless your telnet and telnetd use either a very new (RFC 1080, Nov
88) or experimental ("line mode telnet", RFC not yet issued) protocol,
telnet does not know whether the program it is running is in raw mode
or not.  Berkeley telnet between two Berkeley machines always runs in
what you are calling raw mode.  That is, if you type ^S it is sent to
the other end as a character and stuffed into the pty.  It is possible
that HP has decided it is more "user friendly" to process ^S locally.
In that case, one will hope that they have provided a way to disable
it.

I assume you have verified that emacs run on your local machine works.
^S is often intercepted by various async equipment such as terminal
switches and sometimes even terminals.  If ^S works in emacs on your
system, but not over telnet, then somebody needs to fix your telnet
(or tell you how to change some setting).

Doing "stty raw" is not likely to be relevant.  If you do it on the
local machine before running telnet, telnet probably overrides it.  If
you do it on the other end after logging in, that's the wrong place to
have any effect.