mirror of
https://github.com/neovim/neovim.git
synced 2025-09-13 23:08:16 +00:00
keymap: Make replace_termcodes and friends accept length and cpo_flags
Reasons: - One does not have to do `s[len] = NUL` to work with these functions if they do not need to replace the whole string: thus `s` may be const. - One does not have to save/restore p_cpo to work with them.
This commit is contained in:
@@ -2964,7 +2964,8 @@ did_set_string_option (
|
||||
/* 'pastetoggle': translate key codes like in a mapping */
|
||||
else if (varp == &p_pt) {
|
||||
if (*p_pt) {
|
||||
(void)replace_termcodes(p_pt, &p, TRUE, TRUE, FALSE);
|
||||
(void)replace_termcodes(p_pt, STRLEN(p_pt), &p, true, true, false,
|
||||
CPO_TO_CPO_FLAGS);
|
||||
if (p != NULL) {
|
||||
if (new_value_alloced)
|
||||
free_string_option(p_pt);
|
||||
@@ -4656,7 +4657,7 @@ char_u *get_highlight_default(void)
|
||||
/*
|
||||
* Translate a string like "t_xx", "<t_xx>" or "<S-Tab>" to a key number.
|
||||
*/
|
||||
static int find_key_option(char_u *arg)
|
||||
static int find_key_option(const char_u *arg)
|
||||
{
|
||||
int key;
|
||||
int modifiers;
|
||||
@@ -4670,9 +4671,10 @@ static int find_key_option(char_u *arg)
|
||||
else {
|
||||
--arg; /* put arg at the '<' */
|
||||
modifiers = 0;
|
||||
key = find_special_key(&arg, &modifiers, TRUE, TRUE);
|
||||
if (modifiers) /* can't handle modifiers here */
|
||||
key = find_special_key(&arg, STRLEN(arg), &modifiers, true, true);
|
||||
if (modifiers) { // can't handle modifiers here
|
||||
key = 0;
|
||||
}
|
||||
}
|
||||
return key;
|
||||
}
|
||||
|
Reference in New Issue
Block a user