vim-patch:9.1.0512: Mode message for spell completion doesn't match allowed keys (#29437)

Problem:  Mode message for spell completion doesn't match allowed keys
          (Kyle Kovacs)
Solution: Show "^S" instead of "s".
          (zeertzjq)

This matches the code in vim_is_ctrl_x_key():

	case CTRL_X_SPELL:
	    return (c == Ctrl_S || c == Ctrl_P || c == Ctrl_N);

fixes: neovim/neovim#29431
closes: vim/vim#15065

7002c055d5
(cherry picked from commit 1db1476fd9)
This commit is contained in:
zeertzjq
2024-06-21 14:40:28 +08:00
committed by github-actions[bot]
parent 3b8d0721af
commit 259a620eb8
2 changed files with 16 additions and 1 deletions

View File

@@ -121,7 +121,7 @@ static char *ctrl_x_msgs[] = {
N_(" Command-line completion (^V^N^P)"), N_(" Command-line completion (^V^N^P)"),
N_(" User defined completion (^U^N^P)"), N_(" User defined completion (^U^N^P)"),
N_(" Omni completion (^O^N^P)"), N_(" Omni completion (^O^N^P)"),
N_(" Spelling suggestion (s^N^P)"), N_(" Spelling suggestion (^S^N^P)"),
N_(" Keyword Local completion (^N^P)"), N_(" Keyword Local completion (^N^P)"),
NULL, // CTRL_X_EVAL doesn't use msg. NULL, // CTRL_X_EVAL doesn't use msg.
N_(" Command-line completion (^V^N^P)"), N_(" Command-line completion (^V^N^P)"),

View File

@@ -5,6 +5,7 @@ source check.vim
CheckFeature spell CheckFeature spell
source screendump.vim source screendump.vim
source view_util.vim
func TearDown() func TearDown()
set nospell set nospell
@@ -300,6 +301,20 @@ func Test_compl_with_CTRL_X_CTRL_K_using_spell()
set spell& spelllang& dictionary& ignorecase& set spell& spelllang& dictionary& ignorecase&
endfunc endfunc
func Test_compl_with_CTRL_X_s()
new
set spell spelllang=en_us showmode
inoremap <buffer><F2> <Cmd>let g:msg = Screenline(&lines)<CR>
call feedkeys("STheatre\<C-X>s\<F2>\<C-Y>\<Esc>", 'tx')
call assert_equal(['Theater'], getline(1, '$'))
call assert_match('(^S^N^P)', g:msg)
bwipe!
set spell& spelllang& showmode&
unlet g:msg
endfunc
func Test_spellrepall() func Test_spellrepall()
new new
set spell set spell