view src/testdir/test103.in @ 7534:0765665083be v7.4.1068

commit https://github.com/vim/vim/commit/71bcfdf30109c3d6e40d143adcaf33964b18a70b Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 9 18:20:46 2016 +0100 patch 7.4.1068 Problem: Wrong way to check for unletting internal variables. Solution: Use a better way. (Olaf Dabrunz)
author Christian Brabandt <cb@256bit.org>
date Sat, 09 Jan 2016 18:30:05 +0100
parents 79a8bac614c0
children ae45d497868f
line wrap: on
line source

Test for visual mode not being reset causing E315 error.
STARTTEST
:so small.vim
:enew
:let g:msg="Everything's fine."
:function! TriggerTheProblem()
:	" At this point there is no visual selection because :call reset it.
:	" Let's restore the selection:
:	normal gv
:	'<,'>del _
:	try
:		exe "normal \<Esc>"
:	catch /^Vim\%((\a\+)\)\=:E315/
:		echom 'Snap! E315 error!'
:		let g:msg='Snap! E315 error!'
:	endtry
:endfunction
:enew
:setl buftype=nofile
:call append(line('$'), 'Delete this line.')
:"
:"
:" NOTE: this has to be done by a call to a function because executing :del the
:"       ex-way will require the colon operator which resets the visual mode thus
:"       preventing the problem:
:"
GV:call TriggerTheProblem()
:%del _
:call append(line('$'), g:msg)
:w! test.out
:brewind
ENDTEST

STARTTEST
:qa!
ENDTEST