patch 9.0.1545: text not scrolled when cursor moved with "g0" and "h"

Problem:    Text not scrolled when cursor moved with "g0" and "h".
Solution:   Adjust w_skipcol when needed. (Luuk van Baal, closes #12387)
diff --git a/src/edit.c b/src/edit.c
index c23b0a8..64edddc 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -2734,6 +2734,7 @@
 	}
 
 	curwin->w_set_curswant = TRUE;
+	adjust_skipcol();
 	return OK;
     }
 
diff --git a/src/normal.c b/src/normal.c
index 2f3d12a..0720134 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -5762,6 +5762,7 @@
 	curwin->w_valid &= ~VALID_WCOL;
     }
     curwin->w_set_curswant = TRUE;
+    adjust_skipcol();
 }
 
 /*
diff --git a/src/testdir/test_scroll_opt.vim b/src/testdir/test_scroll_opt.vim
index c12da97..0bdf684 100644
--- a/src/testdir/test_scroll_opt.vim
+++ b/src/testdir/test_scroll_opt.vim
@@ -419,6 +419,18 @@
   exe "normal \<C-Y>"
   call s:check_col_calc(1, 3, 41)
 
+  " Test "g0/g<Home>"
+  exe "normal gg\<C-E>"
+  norm $gkg0
+  call s:check_col_calc(1, 2, 21)
+
+  " Test moving the cursor behind the <<< display with 'virtualedit'
+  set virtualedit=all
+  exe "normal \<C-E>"
+  norm 3lgkh
+  call s:check_col_calc(3, 2, 23)
+  set virtualedit&
+
   normal gg3l
   exe "normal \<C-E>"
 
diff --git a/src/version.c b/src/version.c
index 4f2b2a7..f13f8e0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1545,
+/**/
     1544,
 /**/
     1543,