patch 8.1.0971: failure for selecting quoted text object moves cursor

Problem:    Failure for selecting quoted text object moves cursor.
Solution:   Restore the Visual selection on failure. (Christian Brabandt,
            closes #4024)
diff --git a/src/testdir/test_textobjects.vim b/src/testdir/test_textobjects.vim
index 3c403ab..0baabc0 100644
--- a/src/testdir/test_textobjects.vim
+++ b/src/testdir/test_textobjects.vim
@@ -52,6 +52,31 @@
   bw!
 endfunc
 
+func Test_quote_selection_selection_exclusive_abort()
+  new
+  set selection=exclusive
+  call setline(1, "'abzzc'")
+  let exp_curs = [0, 1, 6, 0]
+  call cursor(1,1)
+  exe 'norm! fcdvi"'
+  " make sure to end visual mode to have a clear state
+  exe "norm! \<esc>"
+  call assert_equal(exp_curs, getpos('.'))
+  call cursor(1,1)
+  exe 'norm! fcvi"'
+  exe "norm! \<esc>"
+  call assert_equal(exp_curs, getpos('.'))
+  call cursor(1,2)
+  exe 'norm! vfcoi"'
+  exe "norm! \<esc>"
+  let exp_curs = [0, 1, 2, 0]
+  let exp_visu = [0, 1, 7, 0]
+  call assert_equal(exp_curs, getpos('.'))
+  call assert_equal(exp_visu, getpos("'>"))
+  set selection&vim
+  bw!
+endfunc
+
 " Tests for string and html text objects
 func Test_string_html_objects()
   enew!