From 5df399983383a04e3603074c0528ba140e22b01b Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 7 May 2007 15:41:37 +0000 Subject: [PATCH] (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier mapping for unibyte strings. --- src/ChangeLog | 9 +++++++-- src/keymap.c | 5 +++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 4491b7cd518..b6340a19cb1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2007-05-07 Stefan Monnier + + * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier + mapping for unibyte strings. + 2007-05-01 YAMAMOTO Mitsuharu * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c. @@ -62,8 +67,8 @@ 2007-04-16 Chong Yidong - * dispnew.c (adjust_frame_glyphs_for_frame_redisplay): Set - garbaged flag in presence of window margins. + * dispnew.c (adjust_frame_glyphs_for_frame_redisplay): + Set garbaged flag in presence of window margins. (showing_window_margins_p): New function. * xdisp.c (cursor_row_p): Only end row on newline if it's a diff --git a/src/keymap.c b/src/keymap.c index c61f5f34383..145d872863a 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -1156,7 +1156,8 @@ binding KEY to DEF is added at the front of KEYMAP. */) if (SYMBOLP (def) && !EQ (Vdefine_key_rebound_commands, Qt)) Vdefine_key_rebound_commands = Fcons (def, Vdefine_key_rebound_commands); - meta_bit = VECTORP (key) ? meta_modifier : 0x80; + meta_bit = (VECTORP (key) || STRINGP (key) && STRING_MULTIBYTE (key) + ? meta_modifier : 0x80); if (VECTORP (def) && ASIZE (def) > 0 && CONSP (AREF (def, 0))) { /* DEF is apparently an XEmacs-style keyboard macro. */ @@ -1312,7 +1313,7 @@ recognize the default bindings, just as `read-key-sequence' does. */) c = Fevent_convert_list (c); /* Turn the 8th bit of string chars into a meta modifier. */ - if (INTEGERP (c) && XINT (c) & 0x80 && STRINGP (key)) + if (STRINGP (key) && XINT (c) & 0x8 && !STRING_MULTIBYTE (key)) XSETINT (c, (XINT (c) | meta_modifier) & ~0x80); /* Allow string since binding for `menu-bar-select-buffer' -- 2.39.2