mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 11:28:22 +00:00
@@ -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);
|
||||||
|
@@ -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()
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user