diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-10-12 20:17:40 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-10-12 20:17:40 +0200 |
commit | 4facea310c2788c88f021b262658b847381a50a8 (patch) | |
tree | 3b04d61798a1a687954b9fa2acccad97283ed9cc /src | |
parent | d1e2f3984ae0b4e22ba6977eedcf05285819eea9 (diff) | |
download | vim-git-4facea310c2788c88f021b262658b847381a50a8.tar.gz |
patch 8.1.2143: cannot see each command even when 'verbose' is setv8.1.2143
Problem: Cannot see each command even when 'verbose' is set.
Solution: List each command when 'verbose' is at least 16.
Diffstat (limited to 'src')
-rw-r--r-- | src/ex_docmd.c | 47 | ||||
-rw-r--r-- | src/testdir/dumps/Test_verbose_option_1.dump | 12 | ||||
-rw-r--r-- | src/testdir/test_cmdline.vim | 23 | ||||
-rw-r--r-- | src/testdir/test_tagjump.vim | 1 | ||||
-rw-r--r-- | src/version.c | 2 |
5 files changed, 68 insertions, 17 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index a4a875635..f4c327140 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -559,6 +559,27 @@ do_exmode( } /* + * 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 "*". */ int @@ -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 index 000000000..192d1028c --- /dev/null +++ b/src/testdir/dumps/Test_verbose_option_1.dump @@ -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 diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index 98768b509..55f35e7dd 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -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)) diff --git a/src/testdir/test_tagjump.vim b/src/testdir/test_tagjump.vim index 64a0a28ca..81d3e80a1 100644 --- a/src/testdir/test_tagjump.vim +++ b/src/testdir/test_tagjump.vim @@ -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') diff --git a/src/version.c b/src/version.c index 74126d2e2..615d24e14 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2143, +/**/ 2142, /**/ 2141, |