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;