diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/ex_docmd.c | 8 | ||||
-rw-r--r-- | src/nvim/testdir/runtest.vim | 7 | ||||
-rw-r--r-- | src/nvim/testdir/test_functions.vim | 2 | ||||
-rw-r--r-- | src/nvim/testdir/test_mapping.vim | 8 | ||||
-rw-r--r-- | src/nvim/testdir/test_window_cmd.vim | 19 |
5 files changed, 37 insertions, 7 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/runtest.vim b/src/nvim/testdir/runtest.vim index 82bc1f6950..8b949d434e 100644 --- a/src/nvim/testdir/runtest.vim +++ b/src/nvim/testdir/runtest.vim @@ -31,12 +31,14 @@ " Check that the screen size is at least 24 x 80 characters. 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 split test.log $put =error write split messages + call append(line('$'), '') + call append(line('$'), 'From ' . expand('%') . ':') call append(line('$'), error) write qa! @@ -161,7 +163,7 @@ func RunTheTest(test) endtry endif - " Clear any autocommands + " Clear any autocommands and put back the catch-all for SwapExists. au! au SwapExists * call HandleSwapExists() @@ -280,6 +282,7 @@ endif let s:flaky_tests = [ \ 'Test_cursorhold_insert()', \ 'Test_exit_callback_interval()', + \ 'Test_map_timeout_with_timer_interrupt()', \ 'Test_oneshot()', \ 'Test_out_cb()', \ 'Test_paused()', diff --git a/src/nvim/testdir/test_functions.vim b/src/nvim/testdir/test_functions.vim index fab1d7790d..b03abb5b34 100644 --- a/src/nvim/testdir/test_functions.vim +++ b/src/nvim/testdir/test_functions.vim @@ -1170,6 +1170,8 @@ func Test_libcall_libcallnr() else let libc = '/usr/lib/libc.so' endif + elseif system('uname -s') =~ 'OpenBSD' + let libc = 'libc.so' else " On Unix, libc.so can be in various places. " Interestingly, using an empty string for the 1st argument of libcall diff --git a/src/nvim/testdir/test_mapping.vim b/src/nvim/testdir/test_mapping.vim index 9f253604ed..7fdb3324ce 100644 --- a/src/nvim/testdir/test_mapping.vim +++ b/src/nvim/testdir/test_mapping.vim @@ -229,6 +229,12 @@ func Test_map_meta_quotes() iunmap <M-"> endfunc +func Test_map_meta_multibyte() + imap <M-á> foo + call assert_match('i <M-á>\s*foo', execute('imap')) + iunmap <M-á> +endfunc + func Test_abbr_after_line_join() new abbr foo bar @@ -282,7 +288,7 @@ func Test_map_timeout_with_timer_interrupt() let g:val = 0 nnoremap \12 :let g:val = 1<CR> nnoremap \123 :let g:val = 2<CR> - set timeout timeoutlen=1000 + set timeout timeoutlen=200 func ExitCb(job, status) let g:timer = timer_start(1, {_ -> feedkeys("3\<Esc>", 't')}) diff --git a/src/nvim/testdir/test_window_cmd.vim b/src/nvim/testdir/test_window_cmd.vim index 2a07a04401..c87c0a0af4 100644 --- a/src/nvim/testdir/test_window_cmd.vim +++ b/src/nvim/testdir/test_window_cmd.vim @@ -42,6 +42,8 @@ function Test_window_cmd_wincmd_gf() function s:swap_exists() let v:swapchoice = s:swap_choice endfunc + " Remove the catch-all that runtest.vim adds + au! SwapExists augroup test_window_cmd_wincmd_gf autocmd! exec "autocmd SwapExists " . fname . " call s:swap_exists()" @@ -144,6 +146,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 +536,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 +554,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 |