Files
neovim/src/nvim/testdir/test_tabline.vim
Michael Ennen 68271a6d19 vim-patch:7.4.1723
Problem:    When using try/catch in 'tabline' it is still considered an
            error and the tabline will be disabled.
Solution:   Check did_emsg instead of called_emsg. (haya14busa, closes #746)

f73d3bc253
2016-11-26 16:17:39 -07:00

44 lines
1.0 KiB
VimL

function! TablineWithCaughtError()
let s:func_in_tabline_called = 1
try
call eval('unknown expression')
catch
endtry
return ''
endfunction
function! TablineWithError()
let s:func_in_tabline_called = 1
call eval('unknown expression')
return ''
endfunction
function! Test_caught_error_in_tabline()
let showtabline_save = &showtabline
set showtabline=2
let s:func_in_tabline_called = 0
let tabline = '%{TablineWithCaughtError()}'
let &tabline = tabline
redraw!
call assert_true(s:func_in_tabline_called)
call assert_equal(tabline, &tabline)
set tabline=
let &showtabline = showtabline_save
endfunction
function! Test_tabline_will_be_disabled_with_error()
let showtabline_save = &showtabline
set showtabline=2
let s:func_in_tabline_called = 0
let tabline = '%{TablineWithError()}'
try
let &tabline = tabline
redraw!
catch
endtry
call assert_true(s:func_in_tabline_called)
call assert_equal('', &tabline)
set tabline=
let &showtabline = showtabline_save
endfunction