mirror of
https://github.com/neovim/neovim.git
synced 2025-10-09 19:36:40 +00:00
vim-patch:8.0.0172
Problem: The command selected in the command line window is not executed.
(Andrey Starodubtsev)
Solution: Save and restore the command line at a lower level. (closes vim/vim#1370)
1d669c233c
This commit is contained in:
@@ -698,9 +698,7 @@ static int command_line_execute(VimState *state, int key)
|
||||
if (s->c == cedit_key || s->c == K_CMDWIN) {
|
||||
if (ex_normal_busy == 0 && got_int == false) {
|
||||
// Open a window to edit the command line (and history).
|
||||
save_cmdline(&s->save_ccline);
|
||||
s->c = ex_window();
|
||||
restore_cmdline(&s->save_ccline);
|
||||
s->some_key_typed = true;
|
||||
}
|
||||
} else {
|
||||
@@ -5229,10 +5227,8 @@ static int ex_window(void)
|
||||
invalidate_botline();
|
||||
redraw_later(SOME_VALID);
|
||||
|
||||
/* Save the command line info, can be used recursively. */
|
||||
save_ccline = ccline;
|
||||
ccline.cmdbuff = NULL;
|
||||
ccline.cmdprompt = NULL;
|
||||
// Save the command line info, can be used recursively.
|
||||
save_cmdline(&save_ccline);
|
||||
|
||||
/* No Ex mode here! */
|
||||
exmode_active = 0;
|
||||
@@ -5266,8 +5262,8 @@ static int ex_window(void)
|
||||
/* Restore KeyTyped in case it is modified by autocommands */
|
||||
KeyTyped = save_KeyTyped;
|
||||
|
||||
/* Restore the command line info. */
|
||||
ccline = save_ccline;
|
||||
// Restore the command line info.
|
||||
restore_cmdline(&save_ccline);
|
||||
cmdwin_type = 0;
|
||||
|
||||
exmode_active = save_exmode;
|
||||
|
Reference in New Issue
Block a user