# HG changeset patch # User Christian Brabandt # Date 1491572704 -7200 # Node ID f57dce6b934bcf454b9f80442a11642a6a706a87 # Parent cc5d3afd4d9a78514154334384d6dd5c163c53ac patch 8.0.0546: swap file exists briefly when opening the command window commit https://github.com/vim/vim/commit/3bab93998d01a01b7f2a071fa3b8054bb0094625 Author: Bram Moolenaar Date: Fri Apr 7 15:42:25 2017 +0200 patch 8.0.0546: swap file exists briefly when opening the command window Problem: Swap file exists briefly when opening the command window. Solution: Set the noswapfile command modifier before splitting the window. (James McCoy, closes #1620) diff --git a/src/ex_getln.c b/src/ex_getln.c --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -127,7 +127,7 @@ static void clear_hist_entry(histentry_T #endif #ifdef FEAT_CMDWIN -static int ex_window(void); +static int open_cmdwin(void); #endif #if defined(FEAT_CMDL_COMPL) || defined(PROTO) @@ -773,7 +773,7 @@ getcmdline( /* * Open a window to edit the command line (and history). */ - c = ex_window(); + c = open_cmdwin(); some_key_typed = TRUE; } } @@ -1292,7 +1292,7 @@ getcmdline( goto cmdline_not_changed; case K_IGNORE: - /* Ignore mouse event or ex_window() result. */ + /* Ignore mouse event or open_cmdwin() result. */ goto cmdline_not_changed; #ifdef FEAT_GUI_W32 @@ -6796,7 +6796,7 @@ cmd_gchar(int offset) * K_IGNORE if editing continues */ static int -ex_window(void) +open_cmdwin(void) { struct cmdline_info save_ccline; bufref_T old_curbuf; @@ -6841,6 +6841,7 @@ ex_window(void) # endif /* don't use a new tab page */ cmdmod.tab = 0; + cmdmod.noswapfile = 1; /* Create a window for the command-line buffer. */ if (win_split((int)p_cwh, WSP_BOT) == FAIL) @@ -6857,7 +6858,6 @@ ex_window(void) (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, NULL); (void)setfname(curbuf, (char_u *)"[Command Line]", NULL, TRUE); set_option_value((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL); - set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL); curbuf->b_p_ma = TRUE; #ifdef FEAT_FOLDING curwin->w_p_fen = FALSE; diff --git a/src/option.c b/src/option.c --- a/src/option.c +++ b/src/option.c @@ -11058,7 +11058,7 @@ buf_copy_options(buf_T *buf, int flags) buf->b_p_ml = p_ml; buf->b_p_ml_nobin = p_ml_nobin; buf->b_p_inf = p_inf; - buf->b_p_swf = p_swf; + buf->b_p_swf = cmdmod.noswapfile ? FALSE : p_swf; #ifdef FEAT_INS_EXPAND buf->b_p_cpt = vim_strsave(p_cpt); #endif diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 546, +/**/ 545, /**/ 544,