summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuuk van Baal <luukvbaal@gmail.com>2023-05-12 15:47:25 +0100
committerBram Moolenaar <Bram@vim.org>2023-05-12 15:47:25 +0100
commit8667a5678f983ba899825b810ab849952d49bcb8 (patch)
treed231ffff7abc79c7bdb26a078ae05edcfbccd44d
parent378447fc183b589039a5bf257923a86d439b0a91 (diff)
downloadvim-git-8667a5678f983ba899825b810ab849952d49bcb8.tar.gz
patch 9.0.1545: text not scrolled when cursor moved with "g0" and "h"v9.0.1545
Problem: Text not scrolled when cursor moved with "g0" and "h". Solution: Adjust w_skipcol when needed. (Luuk van Baal, closes #12387)
-rw-r--r--src/edit.c1
-rw-r--r--src/normal.c1
-rw-r--r--src/testdir/test_scroll_opt.vim12
-rw-r--r--src/version.c2
4 files changed, 16 insertions, 0 deletions
diff --git a/src/edit.c b/src/edit.c
index c23b0a855..64edddce8 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -2734,6 +2734,7 @@ oneleft(void)
}
curwin->w_set_curswant = TRUE;
+ adjust_skipcol();
return OK;
}
diff --git a/src/normal.c b/src/normal.c
index 2f3d12a41..07201341a 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -5762,6 +5762,7 @@ nv_g_home_m_cmd(cmdarg_T *cap)
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 c12da9786..0bdf6840b 100644
--- a/src/testdir/test_scroll_opt.vim
+++ b/src/testdir/test_scroll_opt.vim
@@ -419,6 +419,18 @@ func Test_smoothscroll_cursor_position()
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 4f2b2a72b..f13f8e093 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1545,
+/**/
1544,
/**/
1543,