diff -Nur mc-4.8.16.old/po/ru.po mc-4.8.16/po/ru.po
old
|
new
|
|
597 | 597 | msgid "Disables subshell support" |
598 | 598 | msgstr "Отключить поддержку встроенной командной оболочки" |
599 | 599 | |
| 600 | msgid "Force subshell execution" |
| 601 | msgstr "Принудительное выполнение во встроенной командной оболочке" |
| 602 | |
600 | 603 | msgid "Log ftp dialog to specified file" |
601 | 604 | msgstr "Записывать диалог с FTP в заданный файл" |
602 | 605 | |
diff -Nur mc-4.8.16.old/src/args.c mc-4.8.16/src/args.c
old
|
new
|
|
43 | 43 | #include "src/args.h" |
44 | 44 | |
45 | 45 | /*** external variables **************************************************************************/ |
| 46 | extern int force_subshell_execution; |
46 | 47 | |
47 | 48 | /*** global variables ****************************************************************************/ |
48 | 49 | |
… |
… |
|
154 | 155 | N_("Disables subshell support"), |
155 | 156 | NULL |
156 | 157 | }, |
| 158 | |
| 159 | { |
| 160 | "forceexec", 'r', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, |
| 161 | &force_subshell_execution, |
| 162 | N_("Force subshell execution"), |
| 163 | NULL |
| 164 | }, |
157 | 165 | #endif |
158 | 166 | |
159 | 167 | /* debug options */ |
diff -Nur mc-4.8.16.old/src/execute.c mc-4.8.16/src/execute.c
old
|
new
|
|
75 | 75 | |
76 | 76 | /* --------------------------------------------------------------------------------------------- */ |
77 | 77 | |
| 78 | int force_subshell_execution = 0; |
| 79 | |
78 | 80 | static void |
79 | 81 | edition_post_exec (void) |
80 | 82 | { |
… |
… |
|
429 | 431 | |
430 | 432 | #ifdef ENABLE_SUBSHELL |
431 | 433 | if (mc_global.tty.use_subshell) |
432 | | if (subshell_state == INACTIVE) |
| 434 | if (subshell_state == INACTIVE || force_subshell_execution) |
433 | 435 | do_execute (mc_global.shell->path, cmd ? cmd : command, flags | EXECUTE_AS_SHELL); |
434 | 436 | else |
435 | 437 | message (D_ERROR, MSG_ERROR, _("The shell is already running a command")); |
diff -Nur mc-4.8.16.old/src/execute.h mc-4.8.16/src/execute.h
old
|
new
|
|
28 | 28 | |
29 | 29 | /*** declarations of public functions ************************************************************/ |
30 | 30 | |
| 31 | /* If true message "The shell is already running a command" never */ |
| 32 | extern int force_subshell_execution; |
| 33 | |
31 | 34 | /* Execute functions that use the shell to execute */ |
32 | 35 | void shell_execute (const char *command, int flags); |
33 | 36 | |