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
else
#endif
msg = N_("File to insert [from %s] ");
+
i = statusq(TRUE, insertfile_list, ans,
#ifndef NANO_SMALL
NULL,
}
#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;
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");
* 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
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