* keymap.c (push_key_description): Print M-TAB as C-M-i.

Fixes: debbugs:11758
This commit is contained in:
Chong Yidong 2012-09-02 11:50:29 +08:00
parent af7dda05cc
commit 48c948de78
2 changed files with 14 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2012-09-02 Chong Yidong <cyd@gnu.org>
* keymap.c (push_key_description): Print M-TAB as C-M-i
(Bug#11758).
2012-09-02 Juanma Barranquero <lekktu@gmail.com>
* makefile.w32-in (CCL_H, W32FONT_H): New macros.

View file

@ -2157,7 +2157,7 @@ The `kbd' macro is an approximate inverse of this. */)
char *
push_key_description (EMACS_INT ch, char *p, int force_multibyte)
{
int c, c2;
int c, c2, tab_as_ci;
/* Clear all the meaningless bits above the meta bit. */
c = ch & (meta_modifier | ~ - meta_modifier);
@ -2171,6 +2171,8 @@ push_key_description (EMACS_INT ch, char *p, int force_multibyte)
return p;
}
tab_as_ci = (c2 == '\t' && (c & meta_modifier));
if (c & alt_modifier)
{
*p++ = 'A';
@ -2178,7 +2180,8 @@ push_key_description (EMACS_INT ch, char *p, int force_multibyte)
c -= alt_modifier;
}
if ((c & ctrl_modifier) != 0
|| (c2 < ' ' && c2 != 27 && c2 != '\t' && c2 != Ctl ('M')))
|| (c2 < ' ' && c2 != 27 && c2 != '\t' && c2 != Ctl ('M'))
|| tab_as_ci)
{
*p++ = 'C';
*p++ = '-';
@ -2216,6 +2219,10 @@ push_key_description (EMACS_INT ch, char *p, int force_multibyte)
*p++ = 'S';
*p++ = 'C';
}
else if (tab_as_ci)
{
*p++ = 'i';
}
else if (c == '\t')
{
*p++ = 'T';