diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2018-06-26 08:14:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-26 08:14:09 +0200 |
commit | cafb92487b308b44f38d004c6d1c540f00656021 (patch) | |
tree | 4da0f7814d8ae94d830f71db35a836a92767a8f2 | |
parent | 1cbc8301897c09d381074397b82450f81d7854be (diff) | |
parent | b79523681d2b7cf7e1c1f0b9174aa3804e1d5811 (diff) | |
download | rneovim-cafb92487b308b44f38d004c6d1c540f00656021.tar.gz rneovim-cafb92487b308b44f38d004c6d1c540f00656021.tar.bz2 rneovim-cafb92487b308b44f38d004c6d1c540f00656021.zip |
Merge #8642 from janlazo/vim-8.0.0704
-rw-r--r-- | src/nvim/ex_cmds.c | 4 | ||||
-rw-r--r-- | src/nvim/ex_cmds.lua | 2 | ||||
-rw-r--r-- | src/nvim/ex_getln.c | 8 | ||||
-rw-r--r-- | src/nvim/option.c | 4 |
4 files changed, 13 insertions, 5 deletions
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index dbf11514cf..15b49b69ce 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -2352,8 +2352,8 @@ int do_ecmd( } else { // <VN> We could instead free the synblock // and re-attach to buffer, perhaps. - if (curwin->w_buffer != NULL - && curwin->w_s == &(curwin->w_buffer->b_s)) { + if (curwin->w_buffer == NULL + || curwin->w_s == &(curwin->w_buffer->b_s)) { curwin->w_s = &(buf->b_s); } diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua index c87e3d4c66..31776a70e7 100644 --- a/src/nvim/ex_cmds.lua +++ b/src/nvim/ex_cmds.lua @@ -3076,7 +3076,7 @@ return { }, { command='wincmd', - flags=bit.bor(NEEDARG, WORD1, RANGE, NOTADR), + flags=bit.bor(NEEDARG, WORD1, RANGE, NOTADR, CMDWIN), addr_type=ADDR_WINDOWS, func='ex_wincmd', }, diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index 3372edb8fd..d152dfa271 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -6183,9 +6183,13 @@ static int open_cmdwin(void) ccline.cmdbuff = NULL; } else ccline.cmdbuff = vim_strsave(get_cursor_line_ptr()); - if (ccline.cmdbuff == NULL) + if (ccline.cmdbuff == NULL) { + ccline.cmdbuff = vim_strsave((char_u *)""); + ccline.cmdlen = 0; + ccline.cmdbufflen = 1; + ccline.cmdpos = 0; cmdwin_result = Ctrl_C; - else { + } else { ccline.cmdlen = (int)STRLEN(ccline.cmdbuff); ccline.cmdbufflen = ccline.cmdlen + 1; ccline.cmdpos = curwin->w_cursor.col; diff --git a/src/nvim/option.c b/src/nvim/option.c index ed845df416..50c172b580 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -3243,6 +3243,10 @@ did_set_string_option ( did_filetype = true; apply_autocmds(EVENT_FILETYPE, curbuf->b_p_ft, curbuf->b_fname, true, curbuf); + // Just in case the old "curbuf" is now invalid + if (varp != &(curbuf->b_p_ft)) { + varp = NULL; + } } } if (varp == &(curwin->w_s->b_p_spl)) { |