diff options
author | Alexander Karle <akarle@umass.edu> | 2018-06-01 18:22:53 -0400 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2018-06-02 00:22:53 +0200 |
commit | 39a03c0fe736629cf7804dbaf9b73df60aa237cd (patch) | |
tree | 77d9f4e98c50148ae5777e364eaae0251e8e73f1 | |
parent | 49a497a67c92f339ff9ce2939188b651e250367b (diff) | |
download | rneovim-39a03c0fe736629cf7804dbaf9b73df60aa237cd.tar.gz rneovim-39a03c0fe736629cf7804dbaf9b73df60aa237cd.tar.bz2 rneovim-39a03c0fe736629cf7804dbaf9b73df60aa237cd.zip |
wildmenu: close before redrawing statusline (#8453)
Fixes #8385
-rw-r--r-- | src/nvim/ex_getln.c | 1 | ||||
-rw-r--r-- | test/functional/ui/wildmode_spec.lua | 23 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index 96388a2a9d..f62b0a2060 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -641,6 +641,7 @@ static int command_line_execute(VimState *state, int key) save_p_ls = -1; } else { win_redraw_last_status(topframe); + wild_menu_showing = 0; // must be before redraw_statuslines #8385 redraw_statuslines(); } KeyTyped = skt; diff --git a/test/functional/ui/wildmode_spec.lua b/test/functional/ui/wildmode_spec.lua index c6ddc78618..b60d520ca0 100644 --- a/test/functional/ui/wildmode_spec.lua +++ b/test/functional/ui/wildmode_spec.lua @@ -31,6 +31,29 @@ describe("'wildmenu'", function() ]]) end) + it(':sign <tab> <space> hides wildmenu #8453', function() + command('set wildmode=full') + -- only a regression if status-line open + command('set laststatus=2') + command('set wildmenu') + feed(':sign <tab>') + screen:expect([[ + | + ~ | + ~ | + define jump list > | + :sign define^ | + ]]) + feed('<space>') + screen:expect([[ + | + ~ | + ~ | + [No Name] | + :sign define ^ | + ]]) + end) + it('does not crash after cycling back to original text', function() command('set wildmode=full') feed(':j<Tab><Tab><Tab>') |