/* Keymap mapping ASCII function key sequences onto their preferred forms. */
extern Lisp_Object Vfunction_key_map;
-/* Keymap mapping ASCII function key sequences onto their preferred forms. */
-Lisp_Object Vkey_translation_map;
+/* Another keymap that maps key sequences into key sequences.
+ This one takes precedence over ordinary definitions. */
+extern Lisp_Object Vkey_translation_map;
/* Non-nil means deactivate the mark at end of this command. */
Lisp_Object Vdeactivate_mark;
and process it again. */
copy = *event;
kbd_fetch_ptr = event + 1;
+ input_pending = readable_events ();
x_handle_selection_request (©);
#else
/* We're getting selection request events, but we don't have
else if (event->kind == selection_clear_event)
{
#ifdef HAVE_X11
+ struct input_event copy;
+
+ /* Remove it from the buffer before processing it. */
+ copy = *event;
kbd_fetch_ptr = event + 1;
+ input_pending = readable_events ();
x_handle_selection_clear (event);
#else
/* We're getting selection request events, but we don't have
else if (event->kind == menu_bar_activate_event)
{
kbd_fetch_ptr = event + 1;
+ input_pending = readable_events ();
x_activate_menubar (XFRAME (event->frame_or_window));
}
#endif
{
#ifdef HAVE_X11
struct input_event copy;
+
+ /* Remove it from the buffer before processing it,
+ since otherwise swallow_events called recursively could see it
+ and process it again. */
copy = *event;
kbd_fetch_ptr = event + 1;
+ input_pending = readable_events ();
x_handle_selection_request (©);
#else
/* We're getting selection request events, but we don't have
else if (event->kind == selection_clear_event)
{
#ifdef HAVE_X11
- x_handle_selection_clear (event);
+ struct input_event copy;
+
+ /* Remove it from the buffer before processing it, */
+ copy = *event;
+
kbd_fetch_ptr = event + 1;
+ input_pending = readable_events ();
+ x_handle_selection_clear (event);
#else
/* We're getting selection request events, but we don't have
a window system. */
If string is of length N, character codes N and up are untranslated.");
Vkeyboard_translate_table = Qnil;
- DEFVAR_LISP ("key-translation-map", &Vkey_translation_map,
- "Keymap of key translations that can override keymaps.\n\
-This keymap works like `function-key-map', but comes after that,\n\
-and applies even for keys that have ordinary bindings.");
- Vkey_translation_map = Qnil;
-
DEFVAR_BOOL ("cannot-suspend", &cannot_suspend,
"Non-nil means to always spawn a subshell instead of suspending,\n\
even if the operating system has support for stopping a process.");