aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2003-04-11 23:19:50 +0000
committerStefan Monnier2003-04-11 23:19:50 +0000
commita4e19f6e869fa365d27b3afd367c86d6f962f136 (patch)
tree6b1616a15bb8545832b04d65a2f57bb22cbaf42c /src
parentf3ce1df88f6dd652e8cfc64b82bd28145e0a8064 (diff)
downloademacs-a4e19f6e869fa365d27b3afd367c86d6f962f136.tar.gz
emacs-a4e19f6e869fa365d27b3afd367c86d6f962f136.zip
(kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
specially, so that they can't hide an implicit switch-frame event. (make_lispy_event): Handle SELECT_WINDOW_EVENT. (keys_of_keyboard): Don't bind [select-window] in special-event-map.
Diffstat (limited to 'src')
-rw-r--r--src/keyboard.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 4c7aaa03859..28d93be2678 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -4002,14 +4002,6 @@ kbd_buffer_get_event (kbp, used_mouse_menu)
4002 internal_last_event_frame = frame; 4002 internal_last_event_frame = frame;
4003 kbd_fetch_ptr = event + 1; 4003 kbd_fetch_ptr = event + 1;
4004 } 4004 }
4005 else if (event->kind == SELECT_WINDOW_EVENT)
4006 {
4007 /* Make an event (select-window (WINDOW)). */
4008 obj = Fcons (event->frame_or_window, Qnil);
4009 obj = Fcons (Qselect_window, Fcons (obj, Qnil));
4010
4011 kbd_fetch_ptr = event + 1;
4012 }
4013 else 4005 else
4014 { 4006 {
4015 /* If this event is on a different frame, return a switch-frame this 4007 /* If this event is on a different frame, return a switch-frame this
@@ -5658,6 +5650,12 @@ make_lispy_event (event)
5658 return event->arg; 5650 return event->arg;
5659#endif 5651#endif
5660 5652
5653 case SELECT_WINDOW_EVENT:
5654 /* Make an event (select-window (WINDOW)). */
5655 return Fcons (Qselect_window,
5656 Fcons (Fcons (event->frame_or_window, Qnil),
5657 Qnil));
5658
5661 case TOOL_BAR_EVENT: 5659 case TOOL_BAR_EVENT:
5662 if (EQ (event->arg, event->frame_or_window)) 5660 if (EQ (event->arg, event->frame_or_window))
5663 /* This is the prefix key. We translate this to 5661 /* This is the prefix key. We translate this to
@@ -11276,8 +11274,12 @@ keys_of_keyboard ()
11276 "ignore-event"); 11274 "ignore-event");
11277 initial_define_lispy_key (Vspecial_event_map, "make-frame-visible", 11275 initial_define_lispy_key (Vspecial_event_map, "make-frame-visible",
11278 "ignore-event"); 11276 "ignore-event");
11279 initial_define_lispy_key (Vspecial_event_map, "select-window", 11277 /* Handling it at such a low-level causes read_key_sequence to get
11280 "handle-select-window"); 11278 * confused because it doesn't realize that the current_buffer was
11279 * changed by read_char.
11280 *
11281 * initial_define_lispy_key (Vspecial_event_map, "select-window",
11282 * "handle-select-window"); */
11281 initial_define_lispy_key (Vspecial_event_map, "save-session", 11283 initial_define_lispy_key (Vspecial_event_map, "save-session",
11282 "handle-save-session"); 11284 "handle-save-session");
11283} 11285}