Mercurial > vim
diff src/ex_getln.c @ 18227:7d90fa3e5f8d v8.1.2108
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Commit: https://github.com/vim/vim/commit/23324a0b35d18c5caac20b1d543ed2d1f762f5b5
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Oct 1 17:39:04 2019 +0200
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Problem: Cannot close the cmdline window from CmdWinEnter. (George Brown)
Solution: Reset cmdwin_result earlier. (Christian Brabandt, closes https://github.com/vim/vim/issues/4980)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 01 Oct 2019 17:45:04 +0200 |
parents | 59bc3cd42cf5 |
children | c8a53c0daeed |
line wrap: on
line diff
--- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -136,11 +136,11 @@ restore_viewstate(viewstate_T *vs) // Struct to store the state of 'incsearch' highlighting. typedef struct { pos_T search_start; // where 'incsearch' starts searching - pos_T save_cursor; + pos_T save_cursor; viewstate_T init_viewstate; viewstate_T old_viewstate; - pos_T match_start; - pos_T match_end; + pos_T match_start; + pos_T match_end; int did_incsearch; int incsearch_postponed; int magic_save; @@ -4152,12 +4152,15 @@ open_cmdwin(void) invalidate_botline(); redraw_later(SOME_VALID); - /* No Ex mode here! */ + // No Ex mode here! exmode_active = 0; State = NORMAL; setmouse(); + // Reset here so it can be set by a CmdWinEnter autocommand. + cmdwin_result = 0; + // Trigger CmdwinEnter autocommands. trigger_cmd_autocmd(cmdwin_type, EVENT_CMDWINENTER); if (restart_edit != 0) // autocmd with ":startinsert" @@ -4169,7 +4172,6 @@ open_cmdwin(void) /* * Call the main loop until <CR> or CTRL-C is typed. */ - cmdwin_result = 0; main_loop(TRUE, FALSE); RedrawingDisabled = i;