diff options
| -rw-r--r-- | .builds/openbsd.yml | 5 | ||||
| -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 | 
6 files changed, 42 insertions, 7 deletions
| diff --git a/.builds/openbsd.yml b/.builds/openbsd.yml index 27b165de72..1ac830e6ad 100644 --- a/.builds/openbsd.yml +++ b/.builds/openbsd.yml @@ -31,3 +31,8 @@ tasks:      cmake -G Ninja ..      cmake --build . --config Debug      ./bin/nvim --version +- test: | +    export LC_CTYPE=en_US.UTF-8 +    cd neovim +    # oldtests +    gmake -C src/nvim/testdir NVIM_PRG=`pwd`/build/bin/nvim 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 | 
