patch 9.1.0758: it's possible to set an invalid key to 'wildcharm'
Commit:
https://github.com/vim/vim/commit/40c6babc1789aceb241b23bab76eea16da37e33d
Author: Milly <[email protected]>
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 <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/E1swnId-00BfiB-Vx%40256bit.org.