summaryrefslogtreecommitdiff
path: root/src/getchar.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2011-08-17 20:33:22 +0200
committerBram Moolenaar <Bram@vim.org>2011-08-17 20:33:22 +0200
commitb8bf541f8944a9a0ea0a4b75f8d18a565f5d91d1 (patch)
treeedfac684d6d04e6566e4508fdeb24c70c6b44aef /src/getchar.c
parentf6f4a01ab15d6c962af1210d75a5dc3876e42f39 (diff)
downloadvim-git-b8bf541f8944a9a0ea0a4b75f8d18a565f5d91d1.tar.gz
updated for version 7.3.284v7.3.284
Problem: The str2special() function doesn't handle multi-byte characters properly. Solution: Recognize multi-byte characters. (partly by Vladimir Vichniakov)
Diffstat (limited to 'src/getchar.c')
-rw-r--r--src/getchar.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/getchar.c b/src/getchar.c
index 697eb3142..16bf65a0b 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -3964,7 +3964,17 @@ showmap(mp, local)
if (*mp->m_str == NUL)
msg_puts_attr((char_u *)"<Nop>", hl_attr(HLF_8));
else
- msg_outtrans_special(mp->m_str, FALSE);
+ {
+ /* Remove escaping of CSI, because "m_str" is in a format to be used
+ * as typeahead. */
+ char_u *s = vim_strsave(mp->m_str);
+ if (s != NULL)
+ {
+ vim_unescape_csi(s);
+ msg_outtrans_special(s, FALSE);
+ vim_free(s);
+ }
+ }
#ifdef FEAT_EVAL
if (p_verbose > 0)
last_set_msg(mp->m_script_ID);