Terminal management (+)
The shell uses three different sets of terminal (``tty'') modes:
`edit', used when editing, `quote', used when quoting literal characters,
and `execute', used when executing commands.
The shell holds some settings in each mode constant, so commands which leave
the tty in a confused state do not interfere with the shell.
The shell also matches changes in the speed and padding of the tty.
The list of tty modes that are kept constant
can be examined and modified with the setty builtin.
Note that although the editor uses CBREAK mode (or its equivalent),
it takes typed-ahead characters anyway.
The echotc, settc and telltc commands can be used to
manipulate and debug terminal capabilities from the command line.
On systems that support SIGWINCH or SIGWINDOW, the shell
adapts to window resizing automatically and adjusts the environment
variables LINES and COLUMNS if set. If the environment
variable TERMCAP contains li# and co# fields, the shell adjusts
them to reflect the new window size.