aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-08-17 18:05:18 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-08-17 18:11:05 -0400
commit0a1807ea258849d8280c0538de5ceb9c72a2ef83 (patch)
tree48dc9fb3675d17e4376f215e9980f42673017851
parente2ccf47b5e5e5acf19a74d928e367c7726d29ad3 (diff)
downloadrneovim-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.c8
-rw-r--r--src/nvim/testdir/test_window_cmd.vim17
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