diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-08-17 18:05:18 -0400 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-08-17 18:11:05 -0400 |
commit | 0a1807ea258849d8280c0538de5ceb9c72a2ef83 (patch) | |
tree | 48dc9fb3675d17e4376f215e9980f42673017851 | |
parent | e2ccf47b5e5e5acf19a74d928e367c7726d29ad3 (diff) | |
download | rneovim-0a1807ea258849d8280c0538de5ceb9c72a2ef83.tar.gz rneovim-0a1807ea258849d8280c0538de5ceb9c72a2ef83.tar.bz2 rneovim-0a1807ea258849d8280c0538de5ceb9c72a2ef83.zip |
vim-patch:8.1.1870: using :pedit from a help file sets help filetype
Problem: Using :pedit from a help file sets the preview window to help
filetype. (Wang Shidong)
Solution: Do not set "keep_help_flag". (closes vim/vim#3536)
https://github.com/vim/vim/commit/026587b35c42301bcc2214207346b62ef2efed41
-rw-r--r-- | src/nvim/ex_docmd.c | 8 | ||||
-rw-r--r-- | src/nvim/testdir/test_window_cmd.vim | 17 |
2 files changed, 21 insertions, 4 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 18043bf710..247f4c09ef 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -8432,13 +8432,15 @@ static void ex_pedit(exarg_T *eap) { win_T *curwin_save = curwin; + // Open the preview window or popup and make it the current window. g_do_tagpreview = p_pvh; prepare_tagpreview(true); - keep_help_flag = bt_help(curwin_save->w_buffer); + + // Edit the file. do_exedit(eap, NULL); - keep_help_flag = FALSE; + if (curwin != curwin_save && win_valid(curwin_save)) { - /* Return cursor to where we were */ + // Return cursor to where we were validate_cursor(); redraw_later(VALID); win_enter(curwin_save, true); diff --git a/src/nvim/testdir/test_window_cmd.vim b/src/nvim/testdir/test_window_cmd.vim index 2a07a04401..107e24f4fc 100644 --- a/src/nvim/testdir/test_window_cmd.vim +++ b/src/nvim/testdir/test_window_cmd.vim @@ -144,6 +144,21 @@ func Test_window_preview() call assert_fails('wincmd P', 'E441:') endfunc +func Test_window_preview_from_help() + filetype on + call writefile(['/* some C code */'], 'Xpreview.c') + help + pedit Xpreview.c + wincmd P + call assert_equal(1, &previewwindow) + call assert_equal('c', &filetype) + wincmd z + + filetype off + close + call delete('Xpreview.c') +endfunc + func Test_window_exchange() e Xa @@ -519,6 +534,7 @@ func Test_winrestcmd() endfunc function! Fun_RenewFile() + " Need to wait a bit for the timestamp to be older. sleep 2 silent execute '!echo "1" > tmp.txt' sp @@ -536,7 +552,6 @@ func Test_window_prevwin() call writefile(['2'], 'tmp.txt') new tmp.txt q - " Need to wait a bit for the timestamp to be older. call Fun_RenewFile() call assert_equal(2, winnr()) wincmd p |