diff options
Diffstat (limited to 'libre/mc/mc-mksh-subshell-v2.patch')
-rw-r--r-- | libre/mc/mc-mksh-subshell-v2.patch | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/libre/mc/mc-mksh-subshell-v2.patch b/libre/mc/mc-mksh-subshell-v2.patch deleted file mode 100644 index e701d15f2..000000000 --- a/libre/mc/mc-mksh-subshell-v2.patch +++ /dev/null @@ -1,74 +0,0 @@ -# Support mksh for mc subshell -# https://midnight-commander.org/ticket/3748 -diff -Naur mc-4.8.18.orig/lib/shell.c mc-4.8.18/lib/shell.c ---- mc-4.8.18.orig/lib/shell.c 2016-09-22 18:24:12.000000000 +0000 -+++ mc-4.8.18/lib/shell.c 2017-02-16 13:47:34.933939000 +0000 -@@ -66,6 +66,8 @@ - /* 3rd choice: look for existing shells supported as MC subshells. */ - if (access ("/bin/bash", X_OK) == 0) - mc_shell->path = g_strdup ("/bin/bash"); -+ else if (access ("/bin/mksh", X_OK) == 0) -+ mc_shell->path = g_strdup ("/bin/mksh"); - else if (access ("/bin/ash", X_OK) == 0) - mc_shell->path = g_strdup ("/bin/ash"); - else if (access ("/bin/dash", X_OK) == 0) -@@ -149,6 +153,12 @@ - mc_shell->type = SHELL_ZSH; - mc_shell->name = "zsh"; - } -+ else if (strstr (mc_shell->path, "/mksh") != NULL -+ || strstr (mc_shell->real_path, "/mksh") != NULL) -+ { -+ mc_shell->type = SHELL_MKSH; -+ mc_shell->name = "mksh"; -+ } - else if (strstr (mc_shell->path, "/tcsh") != NULL - || strstr (mc_shell->real_path, "/tcsh") != NULL) - { -diff -Naur mc-4.8.18.orig/lib/shell.h mc-4.8.18/lib/shell.h ---- mc-4.8.18.orig/lib/shell.h 2016-03-12 15:45:47.000000000 +0000 -+++ mc-4.8.18/lib/shell.h 2017-02-15 21:57:39.000000000 +0000 -@@ -12,6 +12,7 @@ - typedef enum - { - SHELL_NONE, -+ SHELL_MKSH, - SHELL_SH, - SHELL_BASH, - SHELL_ASH_BUSYBOX, /* BusyBox default shell (ash) */ -diff -Naur mc-4.8.18.orig/src/subshell/common.c mc-4.8.18/src/subshell/common.c ---- mc-4.8.18.orig/src/subshell/common.c 2016-09-22 18:24:12.000000000 +0000 -+++ mc-4.8.18/src/subshell/common.c 2017-02-20 18:48:22.681514000 +0000 -@@ -320,6 +320,12 @@ - - break; - -+ case SHELL_MKSH: -+ init_file = g_strdup (".shrc"); -+ putenv_str = g_strconcat ("ENV=", init_file, (char *) NULL); -+ putenv (putenv_str); -+ break; -+ - /* TODO: Find a way to pass initfile to TCSH, ZSH and FISH */ - case SHELL_TCSH: - case SHELL_ZSH: -@@ -367,6 +373,7 @@ - - case SHELL_ASH_BUSYBOX: - case SHELL_DASH: -+ case SHELL_MKSH: - case SHELL_TCSH: - case SHELL_FISH: - execl (mc_global.shell->path, mc_global.shell->path, (char *) NULL); -@@ -801,6 +808,11 @@ - "PS1='\\u@\\h:\\w\\$ '\n", subshell_pipe[WRITE]); - break; - -+ case SHELL_MKSH: -+ g_snprintf (precmd, buff_size, -+ "PS1='$(pwd>&%d; kill -STOP $$)'\"$((( USER_ID )) && print '$ ' || print '# ')\"\n", subshell_pipe[WRITE]); -+ break; -+ - case SHELL_ASH_BUSYBOX: - /* BusyBox ash needs a somewhat complicated precmd emulation via PS1, and it is vital - * that BB be built with active CONFIG_ASH_EXPAND_PRMT, but this is the default anyway. |