File less-429-shell.patch of Package less
diff -ru a/filename.c b/filename.c
--- a/filename.c 2020-05-11 23:36:17.000000000 +0200
+++ b/filename.c 2020-05-12 14:01:23.624217811 +0200
@@ -574,7 +574,7 @@
#if HAVE_SHELL
char *shell;
- shell = lgetenv("SHELL");
+ shell = lgetenv("LESSSHELL");
if (!isnullenv(shell))
{
char *scmd;
diff -ru a/less.hlp b/less.hlp
--- a/less.hlp 2020-05-11 23:36:21.000000000 +0200
+++ b/less.hlp 2020-05-12 14:00:58.680162327 +0200
@@ -101,7 +101,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.
|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.
v Edit the current file with $VISUAL or $EDITOR.
diff -ru a/less.nro b/less.nro
--- a/less.nro 2020-05-11 23:36:21.000000000 +0200
+++ b/less.nro 2020-05-12 14:02:02.728304787 +0200
@@ -420,7 +420,7 @@
A pound sign (#) is replaced by the name of the previously examined file.
"!!" repeats the last shell command.
"!" with no shell command simply invokes a shell.
-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 and OS/2 systems, the shell is the normal command processor.
.IP "| <m> shell-command"
@@ -1793,7 +1793,7 @@
.IP PATH
User's search path (used to find a lesskey file
on MS-DOS 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
diff -ru a/lsystem.c b/lsystem.c
--- a/lsystem.c 2020-05-11 23:36:17.000000000 +0200
+++ b/lsystem.c 2020-05-12 14:02:25.352355117 +0200
@@ -127,13 +127,13 @@
/*
* 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 <command>.
* 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);