aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karle <akarle@umass.edu>2018-06-01 18:22:53 -0400
committerJustin M. Keyes <justinkz@gmail.com>2018-06-02 00:22:53 +0200
commit39a03c0fe736629cf7804dbaf9b73df60aa237cd (patch)
tree77d9f4e98c50148ae5777e364eaae0251e8e73f1
parent49a497a67c92f339ff9ce2939188b651e250367b (diff)
downloadrneovim-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.c1
-rw-r--r--test/functional/ui/wildmode_spec.lua23
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>')