summaryrefslogtreecommitdiffstats
path: root/src/term.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/term.c')
-rw-r--r--src/term.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/term.c b/src/term.c
index 99dc1b0c9a..7597c93bd9 100644
--- a/src/term.c
+++ b/src/term.c
@@ -4945,12 +4945,13 @@ check_termcode(max_offset, buf, buflen)
* nothing). When 'cpoptions' does not contain 'B', a backslash can be used
* instead of a CTRL-V.
*/
- char_u *
-replace_termcodes(from, bufp, from_part, do_lt)
+ char_u *
+replace_termcodes(from, bufp, from_part, do_lt, special)
char_u *from;
char_u **bufp;
int from_part;
int do_lt; /* also translate <lt> */
+ int special; /* always accept <key> notation */
{
int i;
int slen;
@@ -4963,7 +4964,7 @@ replace_termcodes(from, bufp, from_part, do_lt)
char_u *result; /* buffer for resulting string */
do_backslash = (vim_strchr(p_cpo, CPO_BSLASH) == NULL);
- do_special = (vim_strchr(p_cpo, CPO_SPECI) == NULL);
+ do_special = (vim_strchr(p_cpo, CPO_SPECI) == NULL) || special;
do_key_code = (vim_strchr(p_cpo, CPO_KEYCODE) == NULL);
/*