]> git.wh0rd.org Git - nano.git/commitdiff
add a multibuffer mode toggle to the "Execute Command" prompt, for
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Tue, 28 Sep 2004 22:14:58 +0000 (22:14 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Tue, 28 Sep 2004 22:14:58 +0000 (22:14 +0000)
consistency with the "Read File" prompt

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1952 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/files.c
src/global.c

index 7a2084c062570840f5fbfa5b92f581aa050a9d06..a9349bfe10af31df53b2330620c1edce12928577 100644 (file)
--- 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
index e356c4e795d609e5e08b710f32e3f62281b1092f..76190402093bdabedaf4cfcd742d02fedc949c9f 100644 (file)
@@ -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;
index 90225378a8c030b9d8d93c420369090ad2a9dae2..2d8522714faef183ab25d33c235e5f7338771dbd 100644 (file)
@@ -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