patch 8.0.0339: illegal memory access with vi'

Problem:    Illegal memory access with vi'
Solution:   For quoted text objects bail out if the Visual area spans more
            than one line.
diff --git a/src/search.c b/src/search.c
index 6e62184..83c5842 100644
--- a/src/search.c
+++ b/src/search.c
@@ -4357,6 +4357,10 @@
     /* Correct cursor when 'selection' is exclusive */
     if (VIsual_active)
     {
+	/* this only works within one line */
+	if (VIsual.lnum != curwin->w_cursor.lnum)
+	    return FALSE;
+
 	vis_bef_curs = lt(VIsual, curwin->w_cursor);
 	if (*p_sel == 'e' && vis_bef_curs)
 	    dec_cursor();
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
index 9d093d3..227da87 100644
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -43,3 +43,10 @@
   normal vapo
   bwipe!
 endfunc
+
+func Test_Visual_inner_quote()
+  new
+  normal oxX
+  normal vki'
+  bwipe!
+endfunc
diff --git a/src/version.c b/src/version.c
index aac6dae..41a0321 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    339,
+/**/
     338,
 /**/
     337,