fix(ui): inccomand performance degradation

It was broken since the introduction of the macro.
This commit is contained in:
KillTheMule 2020-10-12 18:01:43 +02:00 committed by bfredl
parent 969d600f2a
commit 54cec455cc
2 changed files with 16 additions and 11 deletions

View File

@ -4313,18 +4313,22 @@ skip:
#define PUSH_PREVIEW_LINES() \
do { \
linenr_T match_lines = current_match.end.lnum \
- current_match.start.lnum +1; \
if (preview_lines.subresults.size > 0) { \
linenr_T last = kv_last(preview_lines.subresults).end.lnum; \
if (last == current_match.start.lnum) { \
preview_lines.lines_needed += match_lines - 1; \
if (preview) { \
linenr_T match_lines = current_match.end.lnum \
- current_match.start.lnum +1; \
if (preview_lines.subresults.size > 0) { \
linenr_T last = kv_last(preview_lines.subresults).end.lnum; \
if (last == current_match.start.lnum) { \
preview_lines.lines_needed += match_lines - 1; \
} else { \
preview_lines.lines_needed += match_lines; \
} \
} else { \
preview_lines.lines_needed += match_lines; \
} \
} else { \
preview_lines.lines_needed += match_lines; \
kv_push(preview_lines.subresults, current_match); \
} \
kv_push(preview_lines.subresults, current_match); \
} while (0)
} while (0)
// Push the match to preview_lines.
PUSH_PREVIEW_LINES();

View File

@ -4,6 +4,7 @@ local clear, feed = helpers.clear, helpers.feed
local source = helpers.source
local command = helpers.command
local assert_alive = helpers.assert_alive
local uname = helpers.uname
local function new_screen(opt)
local screen = Screen.new(25, 5)
@ -824,7 +825,7 @@ describe('cmdline redraw', function()
end)
it('with <Cmd>', function()
if 'openbsd' == helpers.uname() then
if string.find(uname(), 'bsd') then
pending('FIXME #10804')
end
command('cmap a <Cmd>call sin(0)<CR>') -- no-op