patch 9.0.0901: setting w_leftcol and handling side effects is confusing

Problem:    Setting w_leftcol and handling side effects is confusing.
Solution:   Use a function to set w_leftcol() and handle side effects.
diff --git a/src/mouse.c b/src/mouse.c
index 5ebf125..8348ba1 100644
--- a/src/mouse.c
+++ b/src/mouse.c
@@ -2035,8 +2035,6 @@
     if (curwin->w_leftcol == (colnr_T)leftcol)
 	return FALSE;  // already there
 
-    curwin->w_leftcol = (colnr_T)leftcol;
-
     // When the line of the cursor is too short, move the cursor to the
     // longest visible line.
     if (
@@ -2050,7 +2048,7 @@
 	curwin->w_cursor.col = 0;
     }
 
-    return leftcol_changed();
+    return set_leftcol((colnr_T)leftcol);
 }
 
 /*
@@ -2098,7 +2096,7 @@
 	send_keys_to_term(curbuf->b_term, cap->cmdchar, mod_mask, FALSE);
     else
 # endif
-    // For insert mode, don't scroll the window in which completion is being
+    // For Insert mode, don't scroll the window in which completion is being
     // done.
     if (mode == MODE_NORMAL || !pum_visible() || curwin != old_curwin)
     {