losing input when switching from CBREAK to COOKED in SunO

smb at ulysses.att.com smb at ulysses.att.com
Sat Feb 24 06:31:32 AEST 1990


| The file completion in the "regular" csh provided in 4.3 BSD and SunOS 4.0
| doesn't use CBREAK mode - it is always running in COOKED.  It sets ESC to
| be the second end-of-line character so that whenever the user types ESC,
| the shell gets the current line.  It then retypes over the existing line,
| adding any file completion.  However, this method doesn't allow more than
| one special character, and thus can't be used for custom line editing like
| tcsh, ksh, and bash provide.

Umm -- not true; that's exactly what ksh does.  I know -- I helped Dave
Korn design that part of ksh...

More precisely, ksh runs in cooked mode until ESC has been typed; after
that, it runs in CBREAK mode.  On Berkeley-derived systems -- those that
have CTLECHO -- ESC is the alternate end-of-line character.

It's a little weirder on System V, because you have to ensure that ESC
isn't echoed -- it can upset your terminal....  The scheme we devised was
to make ESC the *eof* character -- and make ^D the alternate end-of-line
character.  This relies on some ancient behavior of the tty driver -- it
doesn't echo EOF (or rather, the character defined to be EOF), because
that made Model 35 Teletypes hangup....



More information about the Comp.sys.sun mailing list