]> code.delx.au - gnu-emacs/commit
* keyboard.c (Vlast_event_frame): Make this variable exist even
authorJim Blandy <jimb@redhat.com>
Sun, 11 Oct 1992 06:42:03 +0000 (06:42 +0000)
committerJim Blandy <jimb@redhat.com>
Sun, 11 Oct 1992 06:42:03 +0000 (06:42 +0000)
commitcd21b83986f5d0f68ba8228f0aeca901677be8be
treee4609f5078b4c15814d1647abc805cccabaac36a
parent2f0b07e06c9b2c9bc62f615e471e2dcb04406d38
* keyboard.c (Vlast_event_frame): Make this variable exist even
when MULTI_FRAME isn't #defined.  People might find it
necessary for writing correct programs, even when the programs
don't explicitly use multiple frames.
(read_char, kbd_buffer_store_event, kbd_buffer_get_event): No need
to test MULTI_FRAME before setting Vlast_event_frame.
(syms_of_keyboard): DEFVAR Vlast_event_frame whether or not
MULTI_FRAME is defined.

        * keyboard.c: Add switch-frame events.
(Qswitch_frame): New event header symbol.
(head_table): Include Qswitch_frame in the table of event heads.
(kbd_buffer_get_event): Detect when a frame switch has occurred,
and return a frame switch event before the enqueued event.
(make_lispy_switch_frame): New function.
(unread_switch_frame): New variable.
(read_key_sequence): Don't throw away the key sequence if the user
switches frames in the middle of the sequence.  Instead, when we
receive a switch-frame event in the middle of a key sequence, save
it, and stuff it into unread_switch_frame when the sequence
is complete.
(read_char): If unread_switch_frame is set, return that value.
(command_loop_1): No need to check Vlast_event_frame and select
new frames here; that's taken care of by switch-frame events now.
(syms_of_keyboard): Initialize and staticpro unread_switch_frame.

* keyboard.c (follow_key, read_key_sequence): Call access_keymap
with T_OK true.

* keyboard.c (apply_modifiers): Copy the value of BASE's
Qevent_kind property to the new symbol.

* keyboard.c (syms_of_keyboard): Qevent_kind should be initialized
to intern ("event-kind"), not intern ("event-type").
src/keyboard.c