diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2017-03-21 23:17:10 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2017-03-22 18:43:00 +0100 |
commit | 01bf78971cea43938e01439ae6d4687bc97196ea (patch) | |
tree | fc1f383ae092ca752e8797cac651b9237fa7d1b8 /src/nvim/ex_getln.c | |
parent | b82e3358e006264187f104bb0321104621bcc811 (diff) | |
download | rneovim-01bf78971cea43938e01439ae6d4687bc97196ea.tar.gz rneovim-01bf78971cea43938e01439ae6d4687bc97196ea.tar.bz2 rneovim-01bf78971cea43938e01439ae6d4687bc97196ea.zip |
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)
https://github.com/vim/vim/commit/1d669c233c97486555a34f7d3f069068d9ebdb63
Diffstat (limited to 'src/nvim/ex_getln.c')
-rw-r--r-- | src/nvim/ex_getln.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index d6e003a82f..2600f484dc 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -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; |