[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/keymap.c
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/src/keymap.c |
Date: |
Tue, 09 May 2006 13:17:24 +0000 |
Index: emacs/src/keymap.c
diff -u emacs/src/keymap.c:1.324 emacs/src/keymap.c:1.325
--- emacs/src/keymap.c:1.324 Sun Apr 30 22:15:13 2006
+++ emacs/src/keymap.c Tue May 9 13:17:24 2006
@@ -2090,12 +2090,21 @@
int force_multibyte;
{
unsigned c2;
+ int valid_p;
/* Clear all the meaningless bits above the meta bit. */
c &= meta_modifier | ~ - meta_modifier;
c2 = c & ~(alt_modifier | ctrl_modifier | hyper_modifier
| meta_modifier | shift_modifier | super_modifier);
+ valid_p = SINGLE_BYTE_CHAR_P (c) || char_valid_p (c, 0);
+ if (! valid_p)
+ {
+ /* KEY_DESCRIPTION_SIZE is large enough for this. */
+ p += sprintf (p, "[%d]", c);
+ return p;
+ }
+
if (c & alt_modifier)
{
*p++ = 'A';
@@ -2183,16 +2192,13 @@
}
else
{
- int valid_p = SINGLE_BYTE_CHAR_P (c) || char_valid_p (c, 0);
-
- if (force_multibyte && valid_p)
+ if (force_multibyte)
{
if (SINGLE_BYTE_CHAR_P (c))
c = unibyte_char_to_multibyte (c);
p += CHAR_STRING (c, p);
}
- else if (NILP (current_buffer->enable_multibyte_characters)
- || valid_p)
+ else if (NILP (current_buffer->enable_multibyte_characters))
{
int bit_offset;
*p++ = '\\';
- [Emacs-diffs] Changes to emacs/src/keymap.c,
Kenichi Handa <=