patch 9.1.0758: it's possible to set an invalid key to 'wildcharm' Commit: https://github.com/vim/vim/commit/40c6babc1789aceb241b23bab76eea16da37e33d Author: Milly <milly...@gmail.com> Date: Fri Oct 4 20:41:14 2024 +0200
patch 9.1.0758: it's possible to set an invalid key to 'wildcharm' Problem: it's possible to set an invalid key to 'wildcharm' Solution: error out, if the 'wildcharm' value is an invalid key (Milly) closes: #15787 Signed-off-by: Milly <milly...@gmail.com> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/src/option.c b/src/option.c index ee9502a2e..b38d77f5a 100644 --- a/src/option.c +++ b/src/option.c @@ -2251,10 +2251,11 @@ do_set_option_numeric( * Different ways to set a number option: * & set to default value * < set to global value - * <xx> accept special key codes for 'wildchar' - * c accept any non-digit for 'wildchar' - * [-]0-9 set number - * other error + * <xx> accept special key codes for 'wildchar' or 'wildcharm' + * ^x accept ctrl key codes for 'wildchar' or 'wildcharm' + * c accept any non-digit for 'wildchar' or 'wildcharm' + * [-]0-9 set number + * other error */ ++arg; if (nextchar == '&') @@ -2281,7 +2282,7 @@ do_set_option_numeric( && !VIM_ISDIGIT(*arg)))) { value = string_to_key(arg, FALSE); - if (value == 0 && (long *)varp != &p_wcm) + if (value == 0) { errmsg = e_invalid_argument; goto skip; diff --git a/src/testdir/gen_opt_test.vim b/src/testdir/gen_opt_test.vim index 936a0fa86..5be06cea1 100644 --- a/src/testdir/gen_opt_test.vim +++ b/src/testdir/gen_opt_test.vim @@ -7,6 +7,8 @@ if 1 set nomore +const K_KENTER = -16715 + " The terminal size is restored at the end. " Clear out t_WS, we don't want to resize the actual terminal. let script = [ @@ -55,7 +57,10 @@ let test_values = { \ 'updatecount': [[0, 1, 8, 9999], [-1]], \ 'updatetime': [[0, 1, 8, 9999], [-1]], \ 'verbose': [[-1, 0, 1, 8, 9999], []], - \ 'wildcharm': [[-1, 0, 100], []], + \ 'wildchar': [[-1, 0, 100, 'x', '^Y', '<Esc>', '<t_xx>'], + \ ['', 'xxx', '<xxx>', '<Esc', '<C-C>', '<NL>', '<CR>', K_KENTER]], + \ 'wildcharm': [[-1, 0, 100, 'x', '^Y', '<Esc>'], + \ ['', 'xxx', '<xxx>', '<Esc', '<C-C>', '<NL>', '<CR>', K_KENTER]], \ 'winheight': [[1, 10, 999], [-1, 0]], \ 'winminheight': [[0, 1], [-1]], \ 'winminwidth': [[0, 1, 10], [-1]], diff --git a/src/version.c b/src/version.c index 2f01df8c6..047db755e 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 758, /**/ 757, /**/ -- -- 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 vim_dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/E1swnId-00BfiB-Vx%40256bit.org.