sh: Automatically enable -o emacs in interactive shells with terminals.
This makes sh a bit more friendly in single user mode, make buildenv, chroot and the like, and matches other shells. The -o emacs can be overridden on the command line or in the ENV file.
This commit is contained in:
parent
25f82a3e0b
commit
d5f6b530fc
@ -93,8 +93,11 @@ procargs(int argc, char **argv)
|
||||
options(1);
|
||||
if (*argptr == NULL && minusc == NULL)
|
||||
sflag = 1;
|
||||
if (iflag == 2 && sflag == 1 && isatty(0) && isatty(1))
|
||||
if (iflag != 0 && sflag == 1 && isatty(0) && isatty(1)) {
|
||||
iflag = 1;
|
||||
if (Eflag == 2)
|
||||
Eflag = 1;
|
||||
}
|
||||
if (mflag == 2)
|
||||
mflag = iflag;
|
||||
for (i = 0; i < NOPTS; i++)
|
||||
|
@ -32,7 +32,7 @@
|
||||
.\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd April 4, 2010
|
||||
.Dd April 5, 2010
|
||||
.Dt SH 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -210,7 +210,8 @@ Enable the built-in
|
||||
.Xr emacs 1
|
||||
command line editor (disables the
|
||||
.Fl V
|
||||
option if it has been set).
|
||||
option if it has been set;
|
||||
set automatically when interactive on terminals).
|
||||
.It Fl e Li errexit
|
||||
Exit immediately if any untested command fails in non-interactive mode.
|
||||
The exit status of a command is considered to be
|
||||
|
Loading…
Reference in New Issue
Block a user