]> granicus.if.org Git - vim/commitdiff
patch 8.1.2143: cannot see each command even when 'verbose' is set v8.1.2143
authorBram Moolenaar <Bram@vim.org>
Sat, 12 Oct 2019 18:17:40 +0000 (20:17 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 12 Oct 2019 18:17:40 +0000 (20:17 +0200)
Problem:    Cannot see each command even when 'verbose' is set.
Solution:   List each command when 'verbose' is at least 16.

src/ex_docmd.c
src/testdir/dumps/Test_verbose_option_1.dump [new file with mode: 0644]
src/testdir/test_cmdline.vim
src/testdir/test_tagjump.vim
src/version.c

index a4a87563542c24b9a493802df61619f15a02720d..f4c327140d6aac7f912cd5481174fc49ba3ccd5d 100644 (file)
@@ -558,6 +558,27 @@ do_exmode(
     msg_scroll = save_msg_scroll;
 }
 
+/*
+ * Print the executed command for when 'verbose' is set.
+ * When "lnum" is 0 only print the command.
+ */
+    static void
+msg_verbose_cmd(linenr_T lnum, char_u *cmd)
+{
+    ++no_wait_return;
+    verbose_enter_scroll();
+
+    if (lnum == 0)
+       smsg(_("Executing: %s"), cmd);
+    else
+       smsg(_("line %ld: %s"), (long)lnum, cmd);
+    if (msg_silent == 0)
+       msg_puts("\n");   // don't overwrite this
+
+    verbose_leave_scroll();
+    --no_wait_return;
+}
+
 /*
  * Execute a simple command line.  Used for translated commands like "*".
  */
@@ -944,18 +965,7 @@ do_cmdline(
        }
 
        if (p_verbose >= 15 && sourcing_name != NULL)
-       {
-           ++no_wait_return;
-           verbose_enter_scroll();
-
-           smsg(_("line %ld: %s"),
-                                          (long)sourcing_lnum, cmdline_copy);
-           if (msg_silent == 0)
-               msg_puts("\n");   /* don't overwrite this */
-
-           verbose_leave_scroll();
-           --no_wait_return;
-       }
+           msg_verbose_cmd(sourcing_lnum, cmdline_copy);
 
        /*
         * 2. Execute one '|' separated command.
@@ -1666,6 +1676,9 @@ do_one_cmd(
     if ((*cmdlinep)[0] == '#' && (*cmdlinep)[1] == '!')
        goto doend;
 
+    if (p_verbose >= 16)
+       msg_verbose_cmd(0, *cmdlinep);
+
 /*
  * 1. Skip comment lines and leading white space and colons.
  * 2. Handle command modifiers.
@@ -8534,9 +8547,9 @@ ex_folddo(exarg_T *eap)
 {
     linenr_T   lnum;
 
-#ifdef FEAT_CLIPBOARD
+# ifdef FEAT_CLIPBOARD
     start_global_changes();
-#endif
+# endif
 
     /* First set the marks for all lines closed/open. */
     for (lnum = eap->line1; lnum <= eap->line2; ++lnum)
@@ -8546,9 +8559,9 @@ ex_folddo(exarg_T *eap)
     /* Execute the command on the marked lines. */
     global_exe(eap->arg);
     ml_clearmarked();     /* clear rest of the marks */
-#ifdef FEAT_CLIPBOARD
+# ifdef FEAT_CLIPBOARD
     end_global_changes();
-#endif
+# endif
 }
 #endif
 
@@ -8566,7 +8579,7 @@ is_loclist_cmd(int cmdidx)
 }
 #endif
 
-# if defined(FEAT_TIMERS) || defined(PROTO)
+#if defined(FEAT_TIMERS) || defined(PROTO)
     int
 get_pressedreturn(void)
 {
diff --git a/src/testdir/dumps/Test_verbose_option_1.dump b/src/testdir/dumps/Test_verbose_option_1.dump
new file mode 100644 (file)
index 0000000..192d102
--- /dev/null
@@ -0,0 +1,12 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|E+0#0000000&|x|e|c|u|t|i|n|g|:| |D|o|S|o|m|e|t|h|i|n|g| @52
+|E|x|e|c|u|t|i|n|g|:| |e|c|h|o| |'|h|e|l@1|o|'| |||s|e|t| |t|s|=|4| |||l|e|t| |v| |=| |'|1|2|3|'| |||e|c|h|o| |v| @18
+|h|e|l@1|o| @69
+|E|x|e|c|u|t|i|n|g|:| |s|e|t| |t|s|=|4| |||l|e|t| |v| |=| |'|1|2|3|'| |||e|c|h|o| |v| @32
+|E|x|e|c|u|t|i|n|g|:| |l|e|t| |v| |=| |'|1|2|3|'| |||e|c|h|o| |v| @42
+|E|x|e|c|u|t|i|n|g|:| |e|c|h|o| |v| @57
+|1|2|3| @71
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35
index 98768b5097a401bf68025412a0e40eedca5bcb7b..55f35e7dd6a03e41289ea554fd387daae469c3af 100644 (file)
@@ -1,5 +1,8 @@
 " Tests for editing the command line.
 
+source check.vim
+source screendump.vim
+
 func Test_complete_tab()
   call writefile(['testfile'], 'Xtestfile')
   call feedkeys(":e Xtest\t\r", "tx")
@@ -687,6 +690,26 @@ func Test_verbosefile()
   call delete('Xlog')
 endfunc
 
+func Test_verbose_option()
+  CheckScreendump
+
+  let lines =<< trim [SCRIPT]
+    command DoSomething echo 'hello' |set ts=4 |let v = '123' |echo v
+    call feedkeys("\r", 't') " for the hit-enter prompt
+    set verbose=20
+  [SCRIPT]
+  call writefile(lines, 'XTest_verbose')
+
+  let buf = RunVimInTerminal('-S XTest_verbose', {'rows': 12})
+  call term_wait(buf, 100)
+  call term_sendkeys(buf, ":DoSomething\<CR>")
+  call VerifyScreenDump(buf, 'Test_verbose_option_1', {})
+
+  " clean up
+  call StopVimInTerminal(buf)
+  call delete('XTest_verbose')
+endfunc
+
 func Test_setcmdpos()
   func InsertTextAtPos(text, pos)
     call assert_equal(0, setcmdpos(a:pos))
index 64a0a28cafe412231e6aa0f22c83d17a2a4deead..81d3e80a1c7567460d05761190877f2198cdb774 100644 (file)
@@ -501,6 +501,7 @@ func Test_tselect()
   call term_sendkeys(buf, ":tselect main\<CR>2\<CR>")
   call VerifyScreenDump(buf, 'Test_tselect_1', {})
 
+  call StopVimInTerminal(buf)
   call delete('Xtags')
   call delete('Xtest.c')
   call delete('XTest_tselect')
index 74126d2e24d09d7839b6a57b68fc8ef679fcacf0..615d24e1415bd32e61664051646c2461a7b4a7b3 100644 (file)
@@ -753,6 +753,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2143,
 /**/
     2142,
 /**/