mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 06:28:35 +00:00
vim-patch:9.0.0009: going past the end of a menu item with only modifier
Problem: Going past the end of a menu item with only modifier.
Solution: Check for NUL.
083692d598
This commit is contained in:
@@ -1748,8 +1748,8 @@ const char *str2special(const char **const sp, const bool replace_spaces, const
|
|||||||
*sp = str + 1;
|
*sp = str + 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// single-byte character or illegal byte
|
// single-byte character, NUL or illegal byte
|
||||||
*sp = str + 1;
|
*sp = str + (*str == NUL ? 0 : 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make special keys and C0 control characters in <> form, also <M-Space>.
|
// Make special keys and C0 control characters in <> form, also <M-Space>.
|
||||||
|
@@ -530,4 +530,17 @@ func Test_tmenu()
|
|||||||
tunmenu Test
|
tunmenu Test
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_only_modifier()
|
||||||
|
exe "tmenu a.b \x80\xfc0"
|
||||||
|
let exp =<< trim [TEXT]
|
||||||
|
--- Menus ---
|
||||||
|
500 a
|
||||||
|
500 b
|
||||||
|
t - <T-2-^@>
|
||||||
|
[TEXT]
|
||||||
|
call assert_equal(exp, split(execute('tmenu'), "\n"))
|
||||||
|
|
||||||
|
tunmenu a.b
|
||||||
|
endfunc
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
Reference in New Issue
Block a user