aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/test103.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/testdir/test103.in')
-rw-r--r--src/nvim/testdir/test103.in37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/nvim/testdir/test103.in b/src/nvim/testdir/test103.in
new file mode 100644
index 0000000000..7c7591e3b9
--- /dev/null
+++ b/src/nvim/testdir/test103.in
@@ -0,0 +1,37 @@
+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
+