vim-patch:8.2.0841: 'verbose' value 16 causes duplicate output

Problem:    'verbose' value 16 causes duplicate output.
Solution:   Combine levels 15 and 16 into one message. (Christian Brabandt,
            closes vim/vim#6153)
823654bc06
This commit is contained in:
Jan Edmund Lazo 2020-10-02 01:22:30 -04:00
parent 970d6ee0d1
commit 86ab4a1cb4
No known key found for this signature in database
GPG Key ID: 64915E6E9F735B15
4 changed files with 37 additions and 6 deletions

View File

@ -6505,7 +6505,9 @@ A jump table for the options with a short description can be found at |Q_op|.
>= 12 Every executed function.
>= 13 When an exception is thrown, caught, finished, or discarded.
>= 14 Anything pending in a ":finally" clause.
>= 15 Every executed Ex command (truncated at 200 characters).
>= 15 Every executed Ex command from a script (truncated at 200
characters).
>= 16 Every executed Ex command
This option can also be set with the "-V" argument. See |-V|.
This option is also set by the |:verbose| command.

View File

@ -588,7 +588,7 @@ int do_cmdline(char_u *cmdline, LineGetter fgetline,
}
}
if (p_verbose >= 15 && sourcing_name != NULL) {
if ((p_verbose >= 15 && sourcing_name != NULL) || p_verbose >= 16) {
msg_verbose_cmd(sourcing_lnum, cmdline_copy);
}
@ -1281,10 +1281,6 @@ static char_u * do_one_cmd(char_u **cmdlinep,
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.

View File

@ -722,6 +722,7 @@ func Test_verbosefile()
endfunc
func Test_verbose_option()
" See test/functional/ui/cmdline_spec.lua
CheckScreendump
let lines =<< trim [SCRIPT]

View File

@ -3,6 +3,7 @@ local Screen = require('test.functional.ui.screen')
local clear, feed = helpers.clear, helpers.feed
local source = helpers.source
local command = helpers.command
local feed_command = helpers.feed_command
local function new_screen(opt)
local screen = Screen.new(25, 5)
@ -842,3 +843,34 @@ describe('cmdline redraw', function()
]], unchanged=true}
end)
end)
describe('cmdline', function()
before_each(function()
clear()
end)
it('prints every executed Ex command if verbose >= 16', function()
local screen = Screen.new(50, 12)
screen:attach()
source([[
command DoSomething echo 'hello' |set ts=4 |let v = '123' |echo v
call feedkeys("\r", 't') " for the hit-enter prompt
set verbose=20
]])
feed_command('DoSomething')
screen:expect([[
|
~ |
|
Executing: DoSomething |
Executing: echo 'hello' |set ts=4 |let v = '123' ||
echo v |
hello |
Executing: set ts=4 |let v = '123' |echo v |
Executing: let v = '123' |echo v |
Executing: echo v |
123 |
Press ENTER or type command to continue^ |
]])
end)
end)