]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0512: Mode message for spell completion doesn't match allowed keys v9.1.0512
authorzeertzjq <zeertzjq@outlook.com>
Fri, 21 Jun 2024 05:55:07 +0000 (07:55 +0200)
committerChristian Brabandt <cb@256bit.org>
Fri, 21 Jun 2024 05:55:07 +0000 (07:55 +0200)
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: #15065

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/insexpand.c
src/testdir/test_spell.vim
src/version.c

index 78fea512725105b2eaa6ec0251128c083045dbd3..01fa6de83ddf4f3efa2db104412e1c8350e0c595 100644 (file)
@@ -58,7 +58,7 @@ static char *ctrl_x_msgs[] =
     N_(" Command-line completion (^V^N^P)"),
     N_(" User defined completion (^U^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)"),
     NULL,   // CTRL_X_EVAL doesn't use msg.
     N_(" Command-line completion (^V^N^P)"),
index 1ddcd83d5117ec8a7314e3162e7a81520352ab2f..692e191a3cf20884f1158958e21625fdb98c13d4 100644 (file)
@@ -5,6 +5,7 @@ source check.vim
 CheckFeature spell
 
 source screendump.vim
+source view_util.vim
 
 func TearDown()
   set nospell
@@ -300,6 +301,20 @@ func Test_compl_with_CTRL_X_CTRL_K_using_spell()
   set spell& spelllang& dictionary& ignorecase&
 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()
   new
   set spell
index e0b0d5ccf30859ca6614aaec7dfd6d252197404e..41d9281a37b36632166abc9eafe033acf31f6bed 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    512,
 /**/
     511,
 /**/