patch 9.0.1761: g<kEnd> behaves different from g<end>
Commit:
https://github.com/vim/vim/commit/654bdbbd329e7267051cc2eb496bc52b66053081
Author: zeertzjq <[email protected]>
Date: Sun Aug 20 18:24:20 2023 +0200
patch 9.0.1761: g<kEnd> behaves different from g<end>
Problem: g<kEnd> behaves different from g<end>
Solution: Make g<kEnd> behave like g<End>
closes: #12861
Signed-off-by: Christian Brabandt <[email protected]>
Co-authored-by: zeertzjq <[email protected]>
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 46f968045..2ddd1b9ce 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -255,7 +255,8 @@ g$ When lines wrap ('wrap' on): To the
last character of
instead of going to the end of the line.
When 'virtualedit' is enabled moves to the end of the
screen line.
- *g<End>*
+
+ *g<End>* *g<kEnd>*
g<End> Like |g$| but to the last non-blank character
instead of the last character.
diff --git a/src/normal.c b/src/normal.c
index cbcfd746d..38229e96e 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -5823,7 +5823,7 @@ nv_g_dollar_cmd(cmdarg_T *cap)
int col_off = curwin_col_off();
int flag = FALSE;
- if (cap->nchar == K_END)
+ if (cap->nchar == K_END || cap->nchar == K_KEND)
flag = TRUE;
oap->motion_type = MCHAR;
diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim
index 92d1134d7..efda142d1 100644
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -4105,20 +4105,24 @@ func Test_normal_click_on_double_width_char()
endfunc
func Test_normal33_g_cmd_nonblank()
- " Test that g$ goes to the last non-blank char and g<end> to the last
+ " Test that g<End> goes to the last non-blank char and g$ to the last
" visible column
20vnew
setlocal nowrap nonumber signcolumn=no
call setline(1, ['fooo fooo fooo fooo fooo fooo
fooo fooo '])
- exe "normal 0g\<end>"
+ exe "normal 0g\<End>"
call assert_equal(11, col('.'))
normal 0g$
call assert_equal(20, col('.'))
+ exe "normal 0g\<kEnd>"
+ call assert_equal(11, col('.'))
setlocal wrap
- exe "normal 0g\<end>"
+ exe "normal 0g\<End>"
call assert_equal(11, col('.'))
normal 0g$
call assert_equal(20, col('.'))
+ exe "normal 0g\<kEnd>"
+ call assert_equal(11, col('.'))
bw!
endfunc
diff --git a/src/version.c b/src/version.c
index 93192c323..19509d1dd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1761,
/**/
1760,
/**/
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/E1qXlJW-00Aijm-JF%40256bit.org.