patch 8.0.1765: CTRL-G j in Insert mode is incorrect when 'virtualedit' set

Problem:    CTRL-G j in Insert mode is incorrect when 'virtualedit' is set.
Solution:   Take coladd into account. (Christian Brabandt, closes #2743)
diff --git a/src/charset.c b/src/charset.c
index 7da18bb..e6657ce 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1417,7 +1417,12 @@
     colnr_T	vcol;
 
     curwin->w_p_list = FALSE;
-    getvcol(curwin, posp, NULL, &vcol, NULL);
+#ifdef FEAT_VIRTUALEDIT
+    if (posp->coladd)
+	getvvcol(curwin, posp, NULL, &vcol, NULL);
+    else
+#endif
+	getvcol(curwin, posp, NULL, &vcol, NULL);
     curwin->w_p_list = list_save;
     return vcol;
 }
diff --git a/src/testdir/test_virtualedit.vim b/src/testdir/test_virtualedit.vim
index 2b8849f..d490252 100644
--- a/src/testdir/test_virtualedit.vim
+++ b/src/testdir/test_virtualedit.vim
@@ -41,3 +41,21 @@
   bwipe!
   set virtualedit=
 endfunc
+
+func Test_edit_CTRL_G()
+  new
+  set virtualedit=insert
+  call setline(1, ['123', '1', '12'])
+  exe "normal! ggA\<c-g>jx\<c-g>jx"
+  call assert_equal(['123', '1  x', '12 x'], getline(1,'$'))
+
+  set virtualedit=all
+  %d_
+  call setline(1, ['1', '12'])
+  exe "normal! ggllix\<c-g>jx"
+  call assert_equal(['1 x', '12x'], getline(1,'$'))
+
+
+  bwipe!
+  set virtualedit=
+endfunc
diff --git a/src/version.c b/src/version.c
index f918ac2..f80e22a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1765,
+/**/
     1764,
 /**/
     1763,