Merge #10800 from janlazo/vim-8.1.1870

vim-patch:8.1.{1679,1839,1870}
This commit is contained in:
Justin M. Keyes
2019-08-18 13:05:17 +02:00
committed by GitHub
3 changed files with 27 additions and 6 deletions

View File

@@ -8432,13 +8432,15 @@ static void ex_pedit(exarg_T *eap)
{ {
win_T *curwin_save = curwin; win_T *curwin_save = curwin;
// Open the preview window or popup and make it the current window.
g_do_tagpreview = p_pvh; g_do_tagpreview = p_pvh;
prepare_tagpreview(true); prepare_tagpreview(true);
keep_help_flag = bt_help(curwin_save->w_buffer);
// Edit the file.
do_exedit(eap, NULL); do_exedit(eap, NULL);
keep_help_flag = FALSE;
if (curwin != curwin_save && win_valid(curwin_save)) { if (curwin != curwin_save && win_valid(curwin_save)) {
/* Return cursor to where we were */ // Return cursor to where we were
validate_cursor(); validate_cursor();
redraw_later(VALID); redraw_later(VALID);
win_enter(curwin_save, true); win_enter(curwin_save, true);

View File

@@ -31,12 +31,14 @@
" Check that the screen size is at least 24 x 80 characters. " Check that the screen size is at least 24 x 80 characters.
if &lines < 24 || &columns < 80 if &lines < 24 || &columns < 80
let error = 'Screen size too small! Tests require at least 24 lines with 80 characters' let error = 'Screen size too small! Tests require at least 24 lines with 80 characters, got ' .. &lines .. ' lines with ' .. &columns .. ' characters'
echoerr error echoerr error
split test.log split test.log
$put =error $put =error
write write
split messages split messages
call append(line('$'), '')
call append(line('$'), 'From ' . expand('%') . ':')
call append(line('$'), error) call append(line('$'), error)
write write
qa! qa!
@@ -161,7 +163,7 @@ func RunTheTest(test)
endtry endtry
endif endif
" Clear any autocommands " Clear any autocommands and put back the catch-all for SwapExists.
au! au!
au SwapExists * call HandleSwapExists() au SwapExists * call HandleSwapExists()

View File

@@ -42,6 +42,8 @@ function Test_window_cmd_wincmd_gf()
function s:swap_exists() function s:swap_exists()
let v:swapchoice = s:swap_choice let v:swapchoice = s:swap_choice
endfunc endfunc
" Remove the catch-all that runtest.vim adds
au! SwapExists
augroup test_window_cmd_wincmd_gf augroup test_window_cmd_wincmd_gf
autocmd! autocmd!
exec "autocmd SwapExists " . fname . " call s:swap_exists()" exec "autocmd SwapExists " . fname . " call s:swap_exists()"
@@ -144,6 +146,21 @@ func Test_window_preview()
call assert_fails('wincmd P', 'E441:') call assert_fails('wincmd P', 'E441:')
endfunc 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() func Test_window_exchange()
e Xa e Xa
@@ -519,6 +536,7 @@ func Test_winrestcmd()
endfunc endfunc
function! Fun_RenewFile() function! Fun_RenewFile()
" Need to wait a bit for the timestamp to be older.
sleep 2 sleep 2
silent execute '!echo "1" > tmp.txt' silent execute '!echo "1" > tmp.txt'
sp sp
@@ -536,7 +554,6 @@ func Test_window_prevwin()
call writefile(['2'], 'tmp.txt') call writefile(['2'], 'tmp.txt')
new tmp.txt new tmp.txt
q q
" Need to wait a bit for the timestamp to be older.
call Fun_RenewFile() call Fun_RenewFile()
call assert_equal(2, winnr()) call assert_equal(2, winnr())
wincmd p wincmd p