commit 04a8d1c040869920366eebb76a861ddca42973f6
parent 03225330dc7f3be5b3384678f9dea13319598e84
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Tue, 28 Sep 2004 22:14:58 +0000
add a multibuffer mode toggle to the "Execute Command" prompt, for
consistency with the "Read File" prompt
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1952 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
3 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -54,6 +54,9 @@ CVS code -
extended keypad values. This is needed for UTF-8 support.
Changes to get_kbinput(), get_translated_kbinput(),
get_shortcut(), get_edit_input(), etc. (DLR)
+ - Add a multibuffer mode toggle to the "Execute Command" prompt,
+ for consistency with the "Read File" prompt. Changes to
+ do_insertfile() and shortcut_init(). (DLR)
- files.c:
do_insertfile()
- Readd the NANO_SMALL #ifdef around the start_again: label to
diff --git a/src/files.c b/src/files.c
@@ -494,6 +494,7 @@ void do_insertfile(void)
else
#endif
msg = N_("File to insert [from %s] ");
+
i = statusq(TRUE, insertfile_list, ans,
#ifndef NANO_SMALL
NULL,
@@ -520,8 +521,29 @@ void do_insertfile(void)
}
#endif /* ENABLE_MULTIBUFFER */
if (i == NANO_EXTCMD_KEY) {
- int j = statusq(TRUE, extcmd_list, ans, NULL,
- _("Command to execute"));
+ int j;
+
+ exec_again: /* Go here when the user toggles multibuffer mode. */
+
+#ifdef ENABLE_MULTIBUFFER
+ if (ISSET(MULTIBUFFER))
+ msg = N_("Command to execute in new buffer");
+ else
+#endif
+ msg = N_("Command to execute");
+
+ j = statusq(TRUE, extcmd_list, ans, NULL, _(msg));
+
+#ifdef ENABLE_MULTIBUFFER
+ if (j == TOGGLE_MULTIBUFFER_KEY) {
+ /* Don't allow toggling if we're in view mode. */
+ if (!ISSET(VIEW_MODE)) {
+ TOGGLE(MULTIBUFFER);
+ ans = mallocstrcpy(NULL, answer);
+ }
+ goto exec_again;
+ }
+#endif
if (j == -1 || answer == NULL || answer[0] == '\0')
goto start_again;
diff --git a/src/global.c b/src/global.c
@@ -247,6 +247,7 @@ void shortcut_init(int unjustify)
const char *regexp_msg = N_("Regexp");
#endif
const char *history_msg = N_("History");
+ const char *new_buffer_msg = N_("New Buffer");
#endif /* !NANO_SMALL */
#ifndef DISABLE_BROWSER
const char *to_files_msg = N_("To Files");
@@ -898,7 +899,7 @@ void shortcut_init(int unjustify)
* disabled. It's useless since inserting files is disabled. */
/* Translators: try to keep this string under 22 characters long */
if (!ISSET(RESTRICTED))
- sc_init_one(&insertfile_list, NANO_NO_KEY, N_("New Buffer"),
+ sc_init_one(&insertfile_list, NANO_NO_KEY, new_buffer_msg,
IFHELP(nano_multibuffer_msg, TOGGLE_MULTIBUFFER_KEY), NANO_NO_KEY,
NANO_NO_KEY, NOVIEW, 0);
#endif
@@ -938,6 +939,10 @@ void shortcut_init(int unjustify)
sc_init_one(&extcmd_list, NANO_CANCEL_KEY, cancel_msg,
IFHELP(nano_cancel_msg, NANO_NO_KEY), NANO_NO_KEY,
NANO_NO_KEY, VIEW, 0);
+
+ sc_init_one(&extcmd_list, NANO_NO_KEY, new_buffer_msg,
+ IFHELP(nano_multibuffer_msg, TOGGLE_MULTIBUFFER_KEY), NANO_NO_KEY,
+ NANO_NO_KEY, NOVIEW, 0);
#endif
#ifndef DISABLE_BROWSER