Index: less-656/filename.c =================================================================== --- less-656.orig/filename.c +++ less-656/filename.c @@ -553,7 +553,7 @@ static FILE * shellcmd(constant char *cm #if HAVE_SHELL constant char *shell; - shell = lgetenv("SHELL"); + shell = lgetenv("LESSSHELL"); if (!isnullenv(shell)) { char *scmd; Index: less-656/less.hlp =================================================================== --- less-656.orig/less.hlp +++ less-656/less.hlp @@ -109,7 +109,7 @@ ___<_n_a_m_e_> Display the setting of an option, by name. +_c_m_d Execute the less cmd each time a new file is examined. - !_c_o_m_m_a_n_d Execute the shell command with $SHELL. + !_c_o_m_m_a_n_d Execute the shell command with $LESSSHELL. #_c_o_m_m_a_n_d Execute the shell command, expanded like a prompt. |XX_c_o_m_m_a_n_d Pipe file between current pos & mark XX to shell command. s _f_i_l_e Save input to a file. Index: less-656/less.nro =================================================================== --- less-656.orig/less.nro +++ less-656/less.nro @@ -468,7 +468,7 @@ A pound sign (#) is replaced by the name "!" with no shell command simply invokes a shell. If a \(haP (CONTROL-P) is entered immediately after the !, no "done" message is printed after the shell command is executed. -On Unix systems, the shell is taken from the environment variable SHELL, +On Unix systems, the shell is taken from the environment variable LESSSHELL, or defaults to "sh". On MS-DOS, Windows, and OS/2 systems, the shell is the normal command processor. .IP "# shell-command" @@ -2493,7 +2493,7 @@ automatically when running in .IP PATH User's search path (used to find a lesskey file on MS-DOS, Windows, and OS/2 systems). -.IP SHELL +.IP LESSSHELL The shell used to execute the !\& command, as well as to expand filenames. .IP TERM The type of terminal on which Index: less-656/lsystem.c =================================================================== --- less-656.orig/lsystem.c +++ less-656/lsystem.c @@ -120,13 +120,13 @@ public void lsystem(constant char *cmd, /* * Pass the command to the system to be executed. - * If we have a SHELL environment variable, use + * If we have a LESSSHELL environment variable, use * <$SHELL -c "command"> instead of just . * If the command is empty, just invoke a shell. */ #if HAVE_SHELL p = NULL; - if ((shell = lgetenv("SHELL")) != NULL && *shell != '\0') + if ((shell = lgetenv("LESSSHELL")) != NULL && *shell != '\0') { if (*cmd == '\0') p = save(shell);