diff src/mouse.c @ 31133:cc0c4141fb73 v9.0.0901

patch 9.0.0901: setting w_leftcol and handling side effects is confusing Commit: https://github.com/vim/vim/commit/0c34d562647f029faca40f7733ccfb7b5377672b Author: Bram Moolenaar <Bram@vim.org> Date: Fri Nov 18 14:07:20 2022 +0000 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.
author Bram Moolenaar <Bram@vim.org>
date Fri, 18 Nov 2022 15:15:04 +0100
parents 33ca088dbd3e
children 759b181807f7
line wrap: on
line diff
--- a/src/mouse.c
+++ b/src/mouse.c
@@ -2035,8 +2035,6 @@ do_mousescroll_horiz(long_u leftcol)
     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 @@ do_mousescroll_horiz(long_u leftcol)
 	curwin->w_cursor.col = 0;
     }
 
-    return leftcol_changed();
+    return set_leftcol((colnr_T)leftcol);
 }
 
 /*
@@ -2098,7 +2096,7 @@ do_mousescroll(int mode, cmdarg_T *cap)
 	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)
     {