about summary refs log tree commit diff
path: root/Doc/Zsh/compat.yo
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/Zsh/compat.yo')
-rw-r--r--Doc/Zsh/compat.yo20
1 files changed, 8 insertions, 12 deletions
diff --git a/Doc/Zsh/compat.yo b/Doc/Zsh/compat.yo
index 26f8fe896..43fa40390 100644
--- a/Doc/Zsh/compat.yo
+++ b/Doc/Zsh/compat.yo
@@ -7,19 +7,15 @@ cindex(compatibility)
 cindex(sh, compatibility)
 cindex(ksh, compatibility)
 Zsh tries to emulate bf(sh) or bf(ksh) when it is invoked as
-tt(sh) or tt(ksh) respectively.  More precisely, it looks at the first
-letter of the name passed to it, which may not necessarily be the
-name of the executable file, ignoring any initial `tt(-)' as well as
-`tt(r)' (for restricted); an `tt(s)' or `tt(b)' will force
-bf(sh) compatibility, while `tt(k)' will force bf(ksh) compatibility.  An
-exception is if the name excluding any `tt(-)' is tt(su), in which case
-the environment variable tt(SHELL) will be used to test the emulation;
-this is to workaround a problem under some operating systems where the
-tt(su) command does not change the name when executing a user shell.  Note
-that, from within zsh itself, this mechanism can be invoked by `tt(ARGV0=sh
-zsh ...)'.
+tt(sh) or tt(ksh) respectively; more precisely, it looks at the first
+letter of the name by which it was invoked, excluding any initial `tt(r)'
+(assumed to stand for `restricted'), and if that is `tt(s)' or `tt(k)' it
+will emulate bf(sh) or bf(ksh).  Furthermore, if invoked as tt(su) (which
+happens on certain systems when the shell is executed by the tt(su)
+command), the shell will try to find an alternative name from the tt(SHELL)
+environment variable and perform emulation based on that.
 
-In this emulation mode, the following
+In bf(sh) and bf(ksh) compatibility modes the following
 parameters are not special and not initialized by the shell:
 tt(ARGC),
 tt(argv),