*** emacs-23.1/src/w32fns.c Tue Aug 11 07:23:54 2009 --- emacs-23.1/src/w32fns.c.new Tue Aug 11 07:22:29 2009 *************** *** 3164,3169 **** --- 3164,3186 ---- TranslateMessage (&windows_msg); goto dflt; } + else + { + extern int w32_get_ime_status (HWND hwnd); + MSG ime_undo_test_msg; + + if (wParam == VK_BACK + && ctrl_modifier == w32_get_key_modifiers (wParam, lParam) + && w32_get_ime_status (hwnd) != 0 + && PeekMessage (&ime_undo_test_msg, hwnd, WM_KEYDOWN, WM_KEYDOWN, PM_NOYIELD | PM_NOREMOVE) != 0 + && ime_undo_test_msg.wParam == VK_BACK + && ime_undo_test_msg.lParam == 0x40000001 + ) + { + post_character_message (hwnd, msg, wParam, lParam, 0); + break; + } + } /* Fall through */