diff options
| author | Tom Tromey | 2011-02-16 09:35:16 -0700 |
|---|---|---|
| committer | Tom Tromey | 2011-02-16 09:35:16 -0700 |
| commit | 1344aad491d0951920efef6cae1c6934f92cd59b (patch) | |
| tree | d251eb2e3842b09f1d269e0586668aa0e509f211 /src/keyboard.c | |
| parent | eb4916d71a6a4293b1dd51deb19cf267bb62b7ae (diff) | |
| download | emacs-1344aad491d0951920efef6cae1c6934f92cd59b.tar.gz emacs-1344aad491d0951920efef6cae1c6934f92cd59b.zip | |
Hide implementation of `struct kboard'
* callint.c (Fcall_interactively): Update.
* doc.c (Fsubstitute_command_keys): Update.
* cmds.c (Fself_insert_command): Update.
* keymap.c (Fcurrent_active_maps, Fkey_binding)
(Fdescribe_buffer_bindings): Update.
* macros.c (Fstart_kbd_macro, end_kbd_macro, Fend_kbd_macro)
(store_kbd_macro_char, Fcall_last_kbd_macro, Fexecute_kbd_macro):
Update.
* keyboard.c (echo_char, echo_dash, echo_now, cancel_echoing)
(echo_length, echo_truncate, cmd_error, command_loop_1)
(read_char, kbd_buffer_store_event_hold, make_lispy_event)
(menu_bar_items, tool_bar_items, read_char_minibuf_menu_prompt)
(read_key_sequence, Fcommand_execute, Fexecute_extended_command)
(Fdiscard_input, init_kboard, init_keyboard, mark_kboards):
Update.
* xfns.c (Fx_create_frame): Update.
* xterm.c (x_connection_closed, x_term_init): Update.
* term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN, init_tty):
Update.
* window.c (window_scroll_pixel_based, window_scroll_line_based):
Update.
* frame.c (make_frame_without_minibuffer, Fhandle_switch_frame)
(delete_frame): Update.
* lisp.h (DEFVAR_KBOARD): Update for change to field names.
* keyboard.h (struct kboard): Rename all Lisp_Object fields.
(KBOARD_INTERNAL_FIELD, KVAR): New macros.
Diffstat (limited to 'src/keyboard.c')
| -rw-r--r-- | src/keyboard.c | 240 |
1 files changed, 120 insertions, 120 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index a1d851408e3..e9c6d508fa2 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -461,7 +461,7 @@ echo_char (Lisp_Object c) | |||
| 461 | char *ptr = buffer; | 461 | char *ptr = buffer; |
| 462 | Lisp_Object echo_string; | 462 | Lisp_Object echo_string; |
| 463 | 463 | ||
| 464 | echo_string = current_kboard->echo_string; | 464 | echo_string = KVAR (current_kboard, echo_string); |
| 465 | 465 | ||
| 466 | /* If someone has passed us a composite event, use its head symbol. */ | 466 | /* If someone has passed us a composite event, use its head symbol. */ |
| 467 | c = EVENT_HEAD (c); | 467 | c = EVENT_HEAD (c); |
| @@ -528,7 +528,7 @@ echo_char (Lisp_Object c) | |||
| 528 | else if (STRINGP (echo_string)) | 528 | else if (STRINGP (echo_string)) |
| 529 | echo_string = concat2 (echo_string, build_string (" ")); | 529 | echo_string = concat2 (echo_string, build_string (" ")); |
| 530 | 530 | ||
| 531 | current_kboard->echo_string | 531 | KVAR (current_kboard, echo_string) |
| 532 | = concat2 (echo_string, make_string (buffer, ptr - buffer)); | 532 | = concat2 (echo_string, make_string (buffer, ptr - buffer)); |
| 533 | 533 | ||
| 534 | echo_now (); | 534 | echo_now (); |
| @@ -542,31 +542,31 @@ void | |||
| 542 | echo_dash (void) | 542 | echo_dash (void) |
| 543 | { | 543 | { |
| 544 | /* Do nothing if not echoing at all. */ | 544 | /* Do nothing if not echoing at all. */ |
| 545 | if (NILP (current_kboard->echo_string)) | 545 | if (NILP (KVAR (current_kboard, echo_string))) |
| 546 | return; | 546 | return; |
| 547 | 547 | ||
| 548 | if (this_command_key_count == 0) | 548 | if (this_command_key_count == 0) |
| 549 | return; | 549 | return; |
| 550 | 550 | ||
| 551 | if (!current_kboard->immediate_echo | 551 | if (!current_kboard->immediate_echo |
| 552 | && SCHARS (current_kboard->echo_string) == 0) | 552 | && SCHARS (KVAR (current_kboard, echo_string)) == 0) |
| 553 | return; | 553 | return; |
| 554 | 554 | ||
| 555 | /* Do nothing if we just printed a prompt. */ | 555 | /* Do nothing if we just printed a prompt. */ |
| 556 | if (current_kboard->echo_after_prompt | 556 | if (current_kboard->echo_after_prompt |
| 557 | == SCHARS (current_kboard->echo_string)) | 557 | == SCHARS (KVAR (current_kboard, echo_string))) |
| 558 | return; | 558 | return; |
| 559 | 559 | ||
| 560 | /* Do nothing if we have already put a dash at the end. */ | 560 | /* Do nothing if we have already put a dash at the end. */ |
| 561 | if (SCHARS (current_kboard->echo_string) > 1) | 561 | if (SCHARS (KVAR (current_kboard, echo_string)) > 1) |
| 562 | { | 562 | { |
| 563 | Lisp_Object last_char, prev_char, idx; | 563 | Lisp_Object last_char, prev_char, idx; |
| 564 | 564 | ||
| 565 | idx = make_number (SCHARS (current_kboard->echo_string) - 2); | 565 | idx = make_number (SCHARS (KVAR (current_kboard, echo_string)) - 2); |
| 566 | prev_char = Faref (current_kboard->echo_string, idx); | 566 | prev_char = Faref (KVAR (current_kboard, echo_string), idx); |
| 567 | 567 | ||
| 568 | idx = make_number (SCHARS (current_kboard->echo_string) - 1); | 568 | idx = make_number (SCHARS (KVAR (current_kboard, echo_string)) - 1); |
| 569 | last_char = Faref (current_kboard->echo_string, idx); | 569 | last_char = Faref (KVAR (current_kboard, echo_string), idx); |
| 570 | 570 | ||
| 571 | if (XINT (last_char) == '-' && XINT (prev_char) != ' ') | 571 | if (XINT (last_char) == '-' && XINT (prev_char) != ' ') |
| 572 | return; | 572 | return; |
| @@ -574,7 +574,7 @@ echo_dash (void) | |||
| 574 | 574 | ||
| 575 | /* Put a dash at the end of the buffer temporarily, | 575 | /* Put a dash at the end of the buffer temporarily, |
| 576 | but make it go away when the next character is added. */ | 576 | but make it go away when the next character is added. */ |
| 577 | current_kboard->echo_string = concat2 (current_kboard->echo_string, | 577 | KVAR (current_kboard, echo_string) = concat2 (KVAR (current_kboard, echo_string), |
| 578 | build_string ("-")); | 578 | build_string ("-")); |
| 579 | echo_now (); | 579 | echo_now (); |
| 580 | } | 580 | } |
| @@ -617,9 +617,9 @@ echo_now (void) | |||
| 617 | } | 617 | } |
| 618 | 618 | ||
| 619 | echoing = 1; | 619 | echoing = 1; |
| 620 | message3_nolog (current_kboard->echo_string, | 620 | message3_nolog (KVAR (current_kboard, echo_string), |
| 621 | SBYTES (current_kboard->echo_string), | 621 | SBYTES (KVAR (current_kboard, echo_string)), |
| 622 | STRING_MULTIBYTE (current_kboard->echo_string)); | 622 | STRING_MULTIBYTE (KVAR (current_kboard, echo_string))); |
| 623 | echoing = 0; | 623 | echoing = 0; |
| 624 | 624 | ||
| 625 | /* Record in what buffer we echoed, and from which kboard. */ | 625 | /* Record in what buffer we echoed, and from which kboard. */ |
| @@ -637,7 +637,7 @@ cancel_echoing (void) | |||
| 637 | { | 637 | { |
| 638 | current_kboard->immediate_echo = 0; | 638 | current_kboard->immediate_echo = 0; |
| 639 | current_kboard->echo_after_prompt = -1; | 639 | current_kboard->echo_after_prompt = -1; |
| 640 | current_kboard->echo_string = Qnil; | 640 | KVAR (current_kboard, echo_string) = Qnil; |
| 641 | ok_to_echo_at_next_pause = NULL; | 641 | ok_to_echo_at_next_pause = NULL; |
| 642 | echo_kboard = NULL; | 642 | echo_kboard = NULL; |
| 643 | echo_message_buffer = Qnil; | 643 | echo_message_buffer = Qnil; |
| @@ -648,8 +648,8 @@ cancel_echoing (void) | |||
| 648 | static int | 648 | static int |
| 649 | echo_length (void) | 649 | echo_length (void) |
| 650 | { | 650 | { |
| 651 | return (STRINGP (current_kboard->echo_string) | 651 | return (STRINGP (KVAR (current_kboard, echo_string)) |
| 652 | ? SCHARS (current_kboard->echo_string) | 652 | ? SCHARS (KVAR (current_kboard, echo_string)) |
| 653 | : 0); | 653 | : 0); |
| 654 | } | 654 | } |
| 655 | 655 | ||
| @@ -660,9 +660,9 @@ echo_length (void) | |||
| 660 | static void | 660 | static void |
| 661 | echo_truncate (EMACS_INT nchars) | 661 | echo_truncate (EMACS_INT nchars) |
| 662 | { | 662 | { |
| 663 | if (STRINGP (current_kboard->echo_string)) | 663 | if (STRINGP (KVAR (current_kboard, echo_string))) |
| 664 | current_kboard->echo_string | 664 | KVAR (current_kboard, echo_string) |
| 665 | = Fsubstring (current_kboard->echo_string, | 665 | = Fsubstring (KVAR (current_kboard, echo_string), |
| 666 | make_number (0), make_number (nchars)); | 666 | make_number (0), make_number (nchars)); |
| 667 | truncate_echo_area (nchars); | 667 | truncate_echo_area (nchars); |
| 668 | } | 668 | } |
| @@ -993,8 +993,8 @@ cmd_error (Lisp_Object data) | |||
| 993 | Vstandard_input = Qt; | 993 | Vstandard_input = Qt; |
| 994 | Vexecuting_kbd_macro = Qnil; | 994 | Vexecuting_kbd_macro = Qnil; |
| 995 | executing_kbd_macro = Qnil; | 995 | executing_kbd_macro = Qnil; |
| 996 | current_kboard->Vprefix_arg = Qnil; | 996 | KVAR (current_kboard, Vprefix_arg) = Qnil; |
| 997 | current_kboard->Vlast_prefix_arg = Qnil; | 997 | KVAR (current_kboard, Vlast_prefix_arg) = Qnil; |
| 998 | cancel_echoing (); | 998 | cancel_echoing (); |
| 999 | 999 | ||
| 1000 | /* Avoid unquittable loop if data contains a circular list. */ | 1000 | /* Avoid unquittable loop if data contains a circular list. */ |
| @@ -1302,8 +1302,8 @@ command_loop_1 (void) | |||
| 1302 | #endif | 1302 | #endif |
| 1303 | int already_adjusted = 0; | 1303 | int already_adjusted = 0; |
| 1304 | 1304 | ||
| 1305 | current_kboard->Vprefix_arg = Qnil; | 1305 | KVAR (current_kboard, Vprefix_arg) = Qnil; |
| 1306 | current_kboard->Vlast_prefix_arg = Qnil; | 1306 | KVAR (current_kboard, Vlast_prefix_arg) = Qnil; |
| 1307 | Vdeactivate_mark = Qnil; | 1307 | Vdeactivate_mark = Qnil; |
| 1308 | waiting_for_input = 0; | 1308 | waiting_for_input = 0; |
| 1309 | cancel_echoing (); | 1309 | cancel_echoing (); |
| @@ -1331,10 +1331,10 @@ command_loop_1 (void) | |||
| 1331 | } | 1331 | } |
| 1332 | 1332 | ||
| 1333 | /* Do this after running Vpost_command_hook, for consistency. */ | 1333 | /* Do this after running Vpost_command_hook, for consistency. */ |
| 1334 | current_kboard->Vlast_command = Vthis_command; | 1334 | KVAR (current_kboard, Vlast_command) = Vthis_command; |
| 1335 | current_kboard->Vreal_last_command = real_this_command; | 1335 | KVAR (current_kboard, Vreal_last_command) = real_this_command; |
| 1336 | if (!CONSP (last_command_event)) | 1336 | if (!CONSP (last_command_event)) |
| 1337 | current_kboard->Vlast_repeatable_command = real_this_command; | 1337 | KVAR (current_kboard, Vlast_repeatable_command) = real_this_command; |
| 1338 | 1338 | ||
| 1339 | while (1) | 1339 | while (1) |
| 1340 | { | 1340 | { |
| @@ -1504,9 +1504,9 @@ command_loop_1 (void) | |||
| 1504 | keys = Fkey_description (keys, Qnil); | 1504 | keys = Fkey_description (keys, Qnil); |
| 1505 | bitch_at_user (); | 1505 | bitch_at_user (); |
| 1506 | message_with_string ("%s is undefined", keys, 0); | 1506 | message_with_string ("%s is undefined", keys, 0); |
| 1507 | current_kboard->defining_kbd_macro = Qnil; | 1507 | KVAR (current_kboard, defining_kbd_macro) = Qnil; |
| 1508 | update_mode_lines = 1; | 1508 | update_mode_lines = 1; |
| 1509 | current_kboard->Vprefix_arg = Qnil; | 1509 | KVAR (current_kboard, Vprefix_arg) = Qnil; |
| 1510 | } | 1510 | } |
| 1511 | else | 1511 | else |
| 1512 | { | 1512 | { |
| @@ -1523,7 +1523,7 @@ command_loop_1 (void) | |||
| 1523 | } | 1523 | } |
| 1524 | #endif | 1524 | #endif |
| 1525 | 1525 | ||
| 1526 | if (NILP (current_kboard->Vprefix_arg)) /* FIXME: Why? --Stef */ | 1526 | if (NILP (KVAR (current_kboard, Vprefix_arg))) /* FIXME: Why? --Stef */ |
| 1527 | Fundo_boundary (); | 1527 | Fundo_boundary (); |
| 1528 | Fcommand_execute (Vthis_command, Qnil, Qnil, Qnil); | 1528 | Fcommand_execute (Vthis_command, Qnil, Qnil, Qnil); |
| 1529 | 1529 | ||
| @@ -1537,7 +1537,7 @@ command_loop_1 (void) | |||
| 1537 | unbind_to (scount, Qnil); | 1537 | unbind_to (scount, Qnil); |
| 1538 | #endif | 1538 | #endif |
| 1539 | } | 1539 | } |
| 1540 | current_kboard->Vlast_prefix_arg = Vcurrent_prefix_arg; | 1540 | KVAR (current_kboard, Vlast_prefix_arg) = Vcurrent_prefix_arg; |
| 1541 | 1541 | ||
| 1542 | /* Note that the value cell will never directly contain nil | 1542 | /* Note that the value cell will never directly contain nil |
| 1543 | if the symbol is a local variable. */ | 1543 | if the symbol is a local variable. */ |
| @@ -1565,12 +1565,12 @@ command_loop_1 (void) | |||
| 1565 | If the command didn't actually create a prefix arg, | 1565 | If the command didn't actually create a prefix arg, |
| 1566 | but is merely a frame event that is transparent to prefix args, | 1566 | but is merely a frame event that is transparent to prefix args, |
| 1567 | then the above doesn't apply. */ | 1567 | then the above doesn't apply. */ |
| 1568 | if (NILP (current_kboard->Vprefix_arg) || CONSP (last_command_event)) | 1568 | if (NILP (KVAR (current_kboard, Vprefix_arg)) || CONSP (last_command_event)) |
| 1569 | { | 1569 | { |
| 1570 | current_kboard->Vlast_command = Vthis_command; | 1570 | KVAR (current_kboard, Vlast_command) = Vthis_command; |
| 1571 | current_kboard->Vreal_last_command = real_this_command; | 1571 | KVAR (current_kboard, Vreal_last_command) = real_this_command; |
| 1572 | if (!CONSP (last_command_event)) | 1572 | if (!CONSP (last_command_event)) |
| 1573 | current_kboard->Vlast_repeatable_command = real_this_command; | 1573 | KVAR (current_kboard, Vlast_repeatable_command) = real_this_command; |
| 1574 | cancel_echoing (); | 1574 | cancel_echoing (); |
| 1575 | this_command_key_count = 0; | 1575 | this_command_key_count = 0; |
| 1576 | this_command_key_count_reset = 0; | 1576 | this_command_key_count_reset = 0; |
| @@ -1649,8 +1649,8 @@ command_loop_1 (void) | |||
| 1649 | 1649 | ||
| 1650 | /* Install chars successfully executed in kbd macro. */ | 1650 | /* Install chars successfully executed in kbd macro. */ |
| 1651 | 1651 | ||
| 1652 | if (!NILP (current_kboard->defining_kbd_macro) | 1652 | if (!NILP (KVAR (current_kboard, defining_kbd_macro)) |
| 1653 | && NILP (current_kboard->Vprefix_arg)) | 1653 | && NILP (KVAR (current_kboard, Vprefix_arg))) |
| 1654 | finalize_kbd_macro_chars (); | 1654 | finalize_kbd_macro_chars (); |
| 1655 | #if 0 /* This shouldn't be necessary anymore. --lorentey */ | 1655 | #if 0 /* This shouldn't be necessary anymore. --lorentey */ |
| 1656 | if (!was_locked) | 1656 | if (!was_locked) |
| @@ -2461,7 +2461,7 @@ read_char (int commandflag, int nmaps, Lisp_Object *maps, Lisp_Object prev_event | |||
| 2461 | KBOARD *kb = FRAME_KBOARD (XFRAME (selected_frame)); | 2461 | KBOARD *kb = FRAME_KBOARD (XFRAME (selected_frame)); |
| 2462 | if (kb != current_kboard) | 2462 | if (kb != current_kboard) |
| 2463 | { | 2463 | { |
| 2464 | Lisp_Object link = kb->kbd_queue; | 2464 | Lisp_Object link = KVAR (kb, kbd_queue); |
| 2465 | /* We shouldn't get here if we were in single-kboard mode! */ | 2465 | /* We shouldn't get here if we were in single-kboard mode! */ |
| 2466 | if (single_kboard) | 2466 | if (single_kboard) |
| 2467 | abort (); | 2467 | abort (); |
| @@ -2473,7 +2473,7 @@ read_char (int commandflag, int nmaps, Lisp_Object *maps, Lisp_Object prev_event | |||
| 2473 | abort (); | 2473 | abort (); |
| 2474 | } | 2474 | } |
| 2475 | if (!CONSP (link)) | 2475 | if (!CONSP (link)) |
| 2476 | kb->kbd_queue = Fcons (c, Qnil); | 2476 | KVAR (kb, kbd_queue) = Fcons (c, Qnil); |
| 2477 | else | 2477 | else |
| 2478 | XSETCDR (link, Fcons (c, Qnil)); | 2478 | XSETCDR (link, Fcons (c, Qnil)); |
| 2479 | kb->kbd_queue_has_data = 1; | 2479 | kb->kbd_queue_has_data = 1; |
| @@ -2645,12 +2645,12 @@ read_char (int commandflag, int nmaps, Lisp_Object *maps, Lisp_Object prev_event | |||
| 2645 | { | 2645 | { |
| 2646 | if (current_kboard->kbd_queue_has_data) | 2646 | if (current_kboard->kbd_queue_has_data) |
| 2647 | { | 2647 | { |
| 2648 | if (!CONSP (current_kboard->kbd_queue)) | 2648 | if (!CONSP (KVAR (current_kboard, kbd_queue))) |
| 2649 | abort (); | 2649 | abort (); |
| 2650 | c = XCAR (current_kboard->kbd_queue); | 2650 | c = XCAR (KVAR (current_kboard, kbd_queue)); |
| 2651 | current_kboard->kbd_queue | 2651 | KVAR (current_kboard, kbd_queue) |
| 2652 | = XCDR (current_kboard->kbd_queue); | 2652 | = XCDR (KVAR (current_kboard, kbd_queue)); |
| 2653 | if (NILP (current_kboard->kbd_queue)) | 2653 | if (NILP (KVAR (current_kboard, kbd_queue))) |
| 2654 | current_kboard->kbd_queue_has_data = 0; | 2654 | current_kboard->kbd_queue_has_data = 0; |
| 2655 | input_pending = readable_events (0); | 2655 | input_pending = readable_events (0); |
| 2656 | if (EVENT_HAS_PARAMETERS (c) | 2656 | if (EVENT_HAS_PARAMETERS (c) |
| @@ -2712,7 +2712,7 @@ read_char (int commandflag, int nmaps, Lisp_Object *maps, Lisp_Object prev_event | |||
| 2712 | 2712 | ||
| 2713 | if (! NILP (c) && (kb != current_kboard)) | 2713 | if (! NILP (c) && (kb != current_kboard)) |
| 2714 | { | 2714 | { |
| 2715 | Lisp_Object link = kb->kbd_queue; | 2715 | Lisp_Object link = KVAR (kb, kbd_queue); |
| 2716 | if (CONSP (link)) | 2716 | if (CONSP (link)) |
| 2717 | { | 2717 | { |
| 2718 | while (CONSP (XCDR (link))) | 2718 | while (CONSP (XCDR (link))) |
| @@ -2721,7 +2721,7 @@ read_char (int commandflag, int nmaps, Lisp_Object *maps, Lisp_Object prev_event | |||
| 2721 | abort (); | 2721 | abort (); |
| 2722 | } | 2722 | } |
| 2723 | if (!CONSP (link)) | 2723 | if (!CONSP (link)) |
| 2724 | kb->kbd_queue = Fcons (c, Qnil); | 2724 | KVAR (kb, kbd_queue) = Fcons (c, Qnil); |
| 2725 | else | 2725 | else |
| 2726 | XSETCDR (link, Fcons (c, Qnil)); | 2726 | XSETCDR (link, Fcons (c, Qnil)); |
| 2727 | kb->kbd_queue_has_data = 1; | 2727 | kb->kbd_queue_has_data = 1; |
| @@ -2829,15 +2829,15 @@ read_char (int commandflag, int nmaps, Lisp_Object *maps, Lisp_Object prev_event | |||
| 2829 | if (XINT (c) == -1) | 2829 | if (XINT (c) == -1) |
| 2830 | goto exit; | 2830 | goto exit; |
| 2831 | 2831 | ||
| 2832 | if ((STRINGP (current_kboard->Vkeyboard_translate_table) | 2832 | if ((STRINGP (KVAR (current_kboard, Vkeyboard_translate_table)) |
| 2833 | && SCHARS (current_kboard->Vkeyboard_translate_table) > (unsigned) XFASTINT (c)) | 2833 | && SCHARS (KVAR (current_kboard, Vkeyboard_translate_table)) > (unsigned) XFASTINT (c)) |
| 2834 | || (VECTORP (current_kboard->Vkeyboard_translate_table) | 2834 | || (VECTORP (KVAR (current_kboard, Vkeyboard_translate_table)) |
| 2835 | && XVECTOR (current_kboard->Vkeyboard_translate_table)->size > (unsigned) XFASTINT (c)) | 2835 | && XVECTOR (KVAR (current_kboard, Vkeyboard_translate_table))->size > (unsigned) XFASTINT (c)) |
| 2836 | || (CHAR_TABLE_P (current_kboard->Vkeyboard_translate_table) | 2836 | || (CHAR_TABLE_P (KVAR (current_kboard, Vkeyboard_translate_table)) |
| 2837 | && CHARACTERP (c))) | 2837 | && CHARACTERP (c))) |
| 2838 | { | 2838 | { |
| 2839 | Lisp_Object d; | 2839 | Lisp_Object d; |
| 2840 | d = Faref (current_kboard->Vkeyboard_translate_table, c); | 2840 | d = Faref (KVAR (current_kboard, Vkeyboard_translate_table), c); |
| 2841 | /* nil in keyboard-translate-table means no translation. */ | 2841 | /* nil in keyboard-translate-table means no translation. */ |
| 2842 | if (!NILP (d)) | 2842 | if (!NILP (d)) |
| 2843 | c = d; | 2843 | c = d; |
| @@ -2918,7 +2918,7 @@ read_char (int commandflag, int nmaps, Lisp_Object *maps, Lisp_Object prev_event | |||
| 2918 | /* Save the echo status. */ | 2918 | /* Save the echo status. */ |
| 2919 | int saved_immediate_echo = current_kboard->immediate_echo; | 2919 | int saved_immediate_echo = current_kboard->immediate_echo; |
| 2920 | struct kboard *saved_ok_to_echo = ok_to_echo_at_next_pause; | 2920 | struct kboard *saved_ok_to_echo = ok_to_echo_at_next_pause; |
| 2921 | Lisp_Object saved_echo_string = current_kboard->echo_string; | 2921 | Lisp_Object saved_echo_string = KVAR (current_kboard, echo_string); |
| 2922 | int saved_echo_after_prompt = current_kboard->echo_after_prompt; | 2922 | int saved_echo_after_prompt = current_kboard->echo_after_prompt; |
| 2923 | 2923 | ||
| 2924 | #if 0 | 2924 | #if 0 |
| @@ -2973,7 +2973,7 @@ read_char (int commandflag, int nmaps, Lisp_Object *maps, Lisp_Object prev_event | |||
| 2973 | 2973 | ||
| 2974 | cancel_echoing (); | 2974 | cancel_echoing (); |
| 2975 | ok_to_echo_at_next_pause = saved_ok_to_echo; | 2975 | ok_to_echo_at_next_pause = saved_ok_to_echo; |
| 2976 | current_kboard->echo_string = saved_echo_string; | 2976 | KVAR (current_kboard, echo_string) = saved_echo_string; |
| 2977 | current_kboard->echo_after_prompt = saved_echo_after_prompt; | 2977 | current_kboard->echo_after_prompt = saved_echo_after_prompt; |
| 2978 | if (saved_immediate_echo) | 2978 | if (saved_immediate_echo) |
| 2979 | echo_now (); | 2979 | echo_now (); |
| @@ -3459,7 +3459,7 @@ kbd_buffer_store_event_hold (register struct input_event *event, | |||
| 3459 | 3459 | ||
| 3460 | if (single_kboard && kb != current_kboard) | 3460 | if (single_kboard && kb != current_kboard) |
| 3461 | { | 3461 | { |
| 3462 | kb->kbd_queue | 3462 | KVAR (kb, kbd_queue) |
| 3463 | = Fcons (make_lispy_switch_frame (event->frame_or_window), | 3463 | = Fcons (make_lispy_switch_frame (event->frame_or_window), |
| 3464 | Fcons (make_number (c), Qnil)); | 3464 | Fcons (make_number (c), Qnil)); |
| 3465 | kb->kbd_queue_has_data = 1; | 3465 | kb->kbd_queue_has_data = 1; |
| @@ -5322,13 +5322,13 @@ make_lispy_event (struct input_event *event) | |||
| 5322 | { | 5322 | { |
| 5323 | /* We need to use an alist rather than a vector as the cache | 5323 | /* We need to use an alist rather than a vector as the cache |
| 5324 | since we can't make a vector long enuf. */ | 5324 | since we can't make a vector long enuf. */ |
| 5325 | if (NILP (current_kboard->system_key_syms)) | 5325 | if (NILP (KVAR (current_kboard, system_key_syms))) |
| 5326 | current_kboard->system_key_syms = Fcons (Qnil, Qnil); | 5326 | KVAR (current_kboard, system_key_syms) = Fcons (Qnil, Qnil); |
| 5327 | return modify_event_symbol (event->code, | 5327 | return modify_event_symbol (event->code, |
| 5328 | event->modifiers, | 5328 | event->modifiers, |
| 5329 | Qfunction_key, | 5329 | Qfunction_key, |
| 5330 | current_kboard->Vsystem_key_alist, | 5330 | KVAR (current_kboard, Vsystem_key_alist), |
| 5331 | 0, ¤t_kboard->system_key_syms, | 5331 | 0, &KVAR (current_kboard, system_key_syms), |
| 5332 | (unsigned) -1); | 5332 | (unsigned) -1); |
| 5333 | } | 5333 | } |
| 5334 | 5334 | ||
| @@ -7360,8 +7360,8 @@ menu_bar_items (Lisp_Object old) | |||
| 7360 | /* Yes, use them (if non-nil) as well as the global map. */ | 7360 | /* Yes, use them (if non-nil) as well as the global map. */ |
| 7361 | maps = (Lisp_Object *) alloca (3 * sizeof (maps[0])); | 7361 | maps = (Lisp_Object *) alloca (3 * sizeof (maps[0])); |
| 7362 | nmaps = 0; | 7362 | nmaps = 0; |
| 7363 | if (!NILP (current_kboard->Voverriding_terminal_local_map)) | 7363 | if (!NILP (KVAR (current_kboard, Voverriding_terminal_local_map))) |
| 7364 | maps[nmaps++] = current_kboard->Voverriding_terminal_local_map; | 7364 | maps[nmaps++] = KVAR (current_kboard, Voverriding_terminal_local_map); |
| 7365 | if (!NILP (Voverriding_local_map)) | 7365 | if (!NILP (Voverriding_local_map)) |
| 7366 | maps[nmaps++] = Voverriding_local_map; | 7366 | maps[nmaps++] = Voverriding_local_map; |
| 7367 | } | 7367 | } |
| @@ -7897,8 +7897,8 @@ tool_bar_items (Lisp_Object reuse, int *nitems) | |||
| 7897 | /* Yes, use them (if non-nil) as well as the global map. */ | 7897 | /* Yes, use them (if non-nil) as well as the global map. */ |
| 7898 | maps = (Lisp_Object *) alloca (3 * sizeof (maps[0])); | 7898 | maps = (Lisp_Object *) alloca (3 * sizeof (maps[0])); |
| 7899 | nmaps = 0; | 7899 | nmaps = 0; |
| 7900 | if (!NILP (current_kboard->Voverriding_terminal_local_map)) | 7900 | if (!NILP (KVAR (current_kboard, Voverriding_terminal_local_map))) |
| 7901 | maps[nmaps++] = current_kboard->Voverriding_terminal_local_map; | 7901 | maps[nmaps++] = KVAR (current_kboard, Voverriding_terminal_local_map); |
| 7902 | if (!NILP (Voverriding_local_map)) | 7902 | if (!NILP (Voverriding_local_map)) |
| 7903 | maps[nmaps++] = Voverriding_local_map; | 7903 | maps[nmaps++] = Voverriding_local_map; |
| 7904 | } | 7904 | } |
| @@ -8614,12 +8614,12 @@ read_char_minibuf_menu_prompt (int commandflag, int nmaps, Lisp_Object *maps) | |||
| 8614 | is pressed. Help characters are not recorded because menu prompting | 8614 | is pressed. Help characters are not recorded because menu prompting |
| 8615 | is not used on replay. | 8615 | is not used on replay. |
| 8616 | */ | 8616 | */ |
| 8617 | orig_defn_macro = current_kboard->defining_kbd_macro; | 8617 | orig_defn_macro = KVAR (current_kboard, defining_kbd_macro); |
| 8618 | current_kboard->defining_kbd_macro = Qnil; | 8618 | KVAR (current_kboard, defining_kbd_macro) = Qnil; |
| 8619 | do | 8619 | do |
| 8620 | obj = read_char (commandflag, 0, 0, Qt, 0, NULL); | 8620 | obj = read_char (commandflag, 0, 0, Qt, 0, NULL); |
| 8621 | while (BUFFERP (obj)); | 8621 | while (BUFFERP (obj)); |
| 8622 | current_kboard->defining_kbd_macro = orig_defn_macro; | 8622 | KVAR (current_kboard, defining_kbd_macro) = orig_defn_macro; |
| 8623 | 8623 | ||
| 8624 | if (!INTEGERP (obj)) | 8624 | if (!INTEGERP (obj)) |
| 8625 | return obj; | 8625 | return obj; |
| @@ -8632,7 +8632,7 @@ read_char_minibuf_menu_prompt (int commandflag, int nmaps, Lisp_Object *maps) | |||
| 8632 | && (!INTEGERP (menu_prompt_more_char) | 8632 | && (!INTEGERP (menu_prompt_more_char) |
| 8633 | || ! EQ (obj, make_number (Ctl (XINT (menu_prompt_more_char)))))) | 8633 | || ! EQ (obj, make_number (Ctl (XINT (menu_prompt_more_char)))))) |
| 8634 | { | 8634 | { |
| 8635 | if (!NILP (current_kboard->defining_kbd_macro)) | 8635 | if (!NILP (KVAR (current_kboard, defining_kbd_macro))) |
| 8636 | store_kbd_macro_char (obj); | 8636 | store_kbd_macro_char (obj); |
| 8637 | return obj; | 8637 | return obj; |
| 8638 | } | 8638 | } |
| @@ -8974,7 +8974,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 8974 | /* Install the string STR as the beginning of the string of | 8974 | /* Install the string STR as the beginning of the string of |
| 8975 | echoing, so that it serves as a prompt for the next | 8975 | echoing, so that it serves as a prompt for the next |
| 8976 | character. */ | 8976 | character. */ |
| 8977 | current_kboard->echo_string = prompt; | 8977 | KVAR (current_kboard, echo_string) = prompt; |
| 8978 | current_kboard->echo_after_prompt = SCHARS (prompt); | 8978 | current_kboard->echo_after_prompt = SCHARS (prompt); |
| 8979 | echo_now (); | 8979 | echo_now (); |
| 8980 | } | 8980 | } |
| @@ -9012,8 +9012,8 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9012 | happens if we switch keyboards between rescans. */ | 9012 | happens if we switch keyboards between rescans. */ |
| 9013 | replay_entire_sequence: | 9013 | replay_entire_sequence: |
| 9014 | 9014 | ||
| 9015 | indec.map = indec.parent = current_kboard->Vinput_decode_map; | 9015 | indec.map = indec.parent = KVAR (current_kboard, Vinput_decode_map); |
| 9016 | fkey.map = fkey.parent = current_kboard->Vlocal_function_key_map; | 9016 | fkey.map = fkey.parent = KVAR (current_kboard, Vlocal_function_key_map); |
| 9017 | keytran.map = keytran.parent = Vkey_translation_map; | 9017 | keytran.map = keytran.parent = Vkey_translation_map; |
| 9018 | indec.start = indec.end = 0; | 9018 | indec.start = indec.end = 0; |
| 9019 | fkey.start = fkey.end = 0; | 9019 | fkey.start = fkey.end = 0; |
| @@ -9034,7 +9034,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9034 | the initial keymaps from the current buffer. */ | 9034 | the initial keymaps from the current buffer. */ |
| 9035 | nmaps = 0; | 9035 | nmaps = 0; |
| 9036 | 9036 | ||
| 9037 | if (!NILP (current_kboard->Voverriding_terminal_local_map)) | 9037 | if (!NILP (KVAR (current_kboard, Voverriding_terminal_local_map))) |
| 9038 | { | 9038 | { |
| 9039 | if (2 > nmaps_allocated) | 9039 | if (2 > nmaps_allocated) |
| 9040 | { | 9040 | { |
| @@ -9042,7 +9042,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9042 | defs = (Lisp_Object *) alloca (2 * sizeof (defs[0])); | 9042 | defs = (Lisp_Object *) alloca (2 * sizeof (defs[0])); |
| 9043 | nmaps_allocated = 2; | 9043 | nmaps_allocated = 2; |
| 9044 | } | 9044 | } |
| 9045 | submaps[nmaps++] = current_kboard->Voverriding_terminal_local_map; | 9045 | submaps[nmaps++] = KVAR (current_kboard, Voverriding_terminal_local_map); |
| 9046 | } | 9046 | } |
| 9047 | else if (!NILP (Voverriding_local_map)) | 9047 | else if (!NILP (Voverriding_local_map)) |
| 9048 | { | 9048 | { |
| @@ -9218,29 +9218,29 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9218 | 9218 | ||
| 9219 | if (!NILP (delayed_switch_frame)) | 9219 | if (!NILP (delayed_switch_frame)) |
| 9220 | { | 9220 | { |
| 9221 | interrupted_kboard->kbd_queue | 9221 | KVAR (interrupted_kboard, kbd_queue) |
| 9222 | = Fcons (delayed_switch_frame, | 9222 | = Fcons (delayed_switch_frame, |
| 9223 | interrupted_kboard->kbd_queue); | 9223 | KVAR (interrupted_kboard, kbd_queue)); |
| 9224 | delayed_switch_frame = Qnil; | 9224 | delayed_switch_frame = Qnil; |
| 9225 | } | 9225 | } |
| 9226 | 9226 | ||
| 9227 | while (t > 0) | 9227 | while (t > 0) |
| 9228 | interrupted_kboard->kbd_queue | 9228 | KVAR (interrupted_kboard, kbd_queue) |
| 9229 | = Fcons (keybuf[--t], interrupted_kboard->kbd_queue); | 9229 | = Fcons (keybuf[--t], KVAR (interrupted_kboard, kbd_queue)); |
| 9230 | 9230 | ||
| 9231 | /* If the side queue is non-empty, ensure it begins with a | 9231 | /* If the side queue is non-empty, ensure it begins with a |
| 9232 | switch-frame, so we'll replay it in the right context. */ | 9232 | switch-frame, so we'll replay it in the right context. */ |
| 9233 | if (CONSP (interrupted_kboard->kbd_queue) | 9233 | if (CONSP (KVAR (interrupted_kboard, kbd_queue)) |
| 9234 | && (key = XCAR (interrupted_kboard->kbd_queue), | 9234 | && (key = XCAR (KVAR (interrupted_kboard, kbd_queue)), |
| 9235 | !(EVENT_HAS_PARAMETERS (key) | 9235 | !(EVENT_HAS_PARAMETERS (key) |
| 9236 | && EQ (EVENT_HEAD_KIND (EVENT_HEAD (key)), | 9236 | && EQ (EVENT_HEAD_KIND (EVENT_HEAD (key)), |
| 9237 | Qswitch_frame)))) | 9237 | Qswitch_frame)))) |
| 9238 | { | 9238 | { |
| 9239 | Lisp_Object frame; | 9239 | Lisp_Object frame; |
| 9240 | XSETFRAME (frame, interrupted_frame); | 9240 | XSETFRAME (frame, interrupted_frame); |
| 9241 | interrupted_kboard->kbd_queue | 9241 | KVAR (interrupted_kboard, kbd_queue) |
| 9242 | = Fcons (make_lispy_switch_frame (frame), | 9242 | = Fcons (make_lispy_switch_frame (frame), |
| 9243 | interrupted_kboard->kbd_queue); | 9243 | KVAR (interrupted_kboard, kbd_queue)); |
| 9244 | } | 9244 | } |
| 9245 | mock_input = 0; | 9245 | mock_input = 0; |
| 9246 | orig_local_map = get_local_map (PT, current_buffer, Qlocal_map); | 9246 | orig_local_map = get_local_map (PT, current_buffer, Qlocal_map); |
| @@ -10115,9 +10115,9 @@ a special event, so ignore the prefix argument and don't clear it. */) | |||
| 10115 | 10115 | ||
| 10116 | if (NILP (special)) | 10116 | if (NILP (special)) |
| 10117 | { | 10117 | { |
| 10118 | prefixarg = current_kboard->Vprefix_arg; | 10118 | prefixarg = KVAR (current_kboard, Vprefix_arg); |
| 10119 | Vcurrent_prefix_arg = prefixarg; | 10119 | Vcurrent_prefix_arg = prefixarg; |
| 10120 | current_kboard->Vprefix_arg = Qnil; | 10120 | KVAR (current_kboard, Vprefix_arg) = Qnil; |
| 10121 | } | 10121 | } |
| 10122 | else | 10122 | else |
| 10123 | prefixarg = Qnil; | 10123 | prefixarg = Qnil; |
| @@ -10251,7 +10251,7 @@ give to the command you invoke, if it asks for an argument. */) | |||
| 10251 | UNGCPRO; | 10251 | UNGCPRO; |
| 10252 | 10252 | ||
| 10253 | function = Fintern (function, Qnil); | 10253 | function = Fintern (function, Qnil); |
| 10254 | current_kboard->Vprefix_arg = prefixarg; | 10254 | KVAR (current_kboard, Vprefix_arg) = prefixarg; |
| 10255 | Vthis_command = function; | 10255 | Vthis_command = function; |
| 10256 | real_this_command = function; | 10256 | real_this_command = function; |
| 10257 | 10257 | ||
| @@ -10574,7 +10574,7 @@ DEFUN ("discard-input", Fdiscard_input, Sdiscard_input, 0, 0, 0, | |||
| 10574 | Also end any kbd macro being defined. */) | 10574 | Also end any kbd macro being defined. */) |
| 10575 | (void) | 10575 | (void) |
| 10576 | { | 10576 | { |
| 10577 | if (!NILP (current_kboard->defining_kbd_macro)) | 10577 | if (!NILP (KVAR (current_kboard, defining_kbd_macro))) |
| 10578 | { | 10578 | { |
| 10579 | /* Discard the last command from the macro. */ | 10579 | /* Discard the last command from the macro. */ |
| 10580 | Fcancel_kbd_macro_events (); | 10580 | Fcancel_kbd_macro_events (); |
| @@ -11224,30 +11224,30 @@ The `posn-' functions access elements of such lists. */) | |||
| 11224 | void | 11224 | void |
| 11225 | init_kboard (KBOARD *kb) | 11225 | init_kboard (KBOARD *kb) |
| 11226 | { | 11226 | { |
| 11227 | kb->Voverriding_terminal_local_map = Qnil; | 11227 | KVAR (kb, Voverriding_terminal_local_map) = Qnil; |
| 11228 | kb->Vlast_command = Qnil; | 11228 | KVAR (kb, Vlast_command) = Qnil; |
| 11229 | kb->Vreal_last_command = Qnil; | 11229 | KVAR (kb, Vreal_last_command) = Qnil; |
| 11230 | kb->Vkeyboard_translate_table = Qnil; | 11230 | KVAR (kb, Vkeyboard_translate_table) = Qnil; |
| 11231 | kb->Vlast_repeatable_command = Qnil; | 11231 | KVAR (kb, Vlast_repeatable_command) = Qnil; |
| 11232 | kb->Vprefix_arg = Qnil; | 11232 | KVAR (kb, Vprefix_arg) = Qnil; |
| 11233 | kb->Vlast_prefix_arg = Qnil; | 11233 | KVAR (kb, Vlast_prefix_arg) = Qnil; |
| 11234 | kb->kbd_queue = Qnil; | 11234 | KVAR (kb, kbd_queue) = Qnil; |
| 11235 | kb->kbd_queue_has_data = 0; | 11235 | kb->kbd_queue_has_data = 0; |
| 11236 | kb->immediate_echo = 0; | 11236 | kb->immediate_echo = 0; |
| 11237 | kb->echo_string = Qnil; | 11237 | KVAR (kb, echo_string) = Qnil; |
| 11238 | kb->echo_after_prompt = -1; | 11238 | kb->echo_after_prompt = -1; |
| 11239 | kb->kbd_macro_buffer = 0; | 11239 | kb->kbd_macro_buffer = 0; |
| 11240 | kb->kbd_macro_bufsize = 0; | 11240 | kb->kbd_macro_bufsize = 0; |
| 11241 | kb->defining_kbd_macro = Qnil; | 11241 | KVAR (kb, defining_kbd_macro) = Qnil; |
| 11242 | kb->Vlast_kbd_macro = Qnil; | 11242 | KVAR (kb, Vlast_kbd_macro) = Qnil; |
| 11243 | kb->reference_count = 0; | 11243 | kb->reference_count = 0; |
| 11244 | kb->Vsystem_key_alist = Qnil; | 11244 | KVAR (kb, Vsystem_key_alist) = Qnil; |
| 11245 | kb->system_key_syms = Qnil; | 11245 | KVAR (kb, system_key_syms) = Qnil; |
| 11246 | kb->Vwindow_system = Qt; /* Unset. */ | 11246 | KVAR (kb, Vwindow_system) = Qt; /* Unset. */ |
| 11247 | kb->Vinput_decode_map = Fmake_sparse_keymap (Qnil); | 11247 | KVAR (kb, Vinput_decode_map) = Fmake_sparse_keymap (Qnil); |
| 11248 | kb->Vlocal_function_key_map = Fmake_sparse_keymap (Qnil); | 11248 | KVAR (kb, Vlocal_function_key_map) = Fmake_sparse_keymap (Qnil); |
| 11249 | Fset_keymap_parent (kb->Vlocal_function_key_map, Vfunction_key_map); | 11249 | Fset_keymap_parent (KVAR (kb, Vlocal_function_key_map), Vfunction_key_map); |
| 11250 | kb->Vdefault_minibuffer_frame = Qnil; | 11250 | KVAR (kb, Vdefault_minibuffer_frame) = Qnil; |
| 11251 | } | 11251 | } |
| 11252 | 11252 | ||
| 11253 | /* | 11253 | /* |
| @@ -11323,7 +11323,7 @@ init_keyboard (void) | |||
| 11323 | init_kboard (current_kboard); | 11323 | init_kboard (current_kboard); |
| 11324 | /* A value of nil for Vwindow_system normally means a tty, but we also use | 11324 | /* A value of nil for Vwindow_system normally means a tty, but we also use |
| 11325 | it for the initial terminal since there is no window system there. */ | 11325 | it for the initial terminal since there is no window system there. */ |
| 11326 | current_kboard->Vwindow_system = Qnil; | 11326 | KVAR (current_kboard, Vwindow_system) = Qnil; |
| 11327 | 11327 | ||
| 11328 | if (!noninteractive) | 11328 | if (!noninteractive) |
| 11329 | { | 11329 | { |
| @@ -12266,23 +12266,23 @@ mark_kboards (void) | |||
| 12266 | if (kb->kbd_macro_buffer) | 12266 | if (kb->kbd_macro_buffer) |
| 12267 | for (p = kb->kbd_macro_buffer; p < kb->kbd_macro_ptr; p++) | 12267 | for (p = kb->kbd_macro_buffer; p < kb->kbd_macro_ptr; p++) |
| 12268 | mark_object (*p); | 12268 | mark_object (*p); |
| 12269 | mark_object (kb->Voverriding_terminal_local_map); | 12269 | mark_object (KVAR (kb, Voverriding_terminal_local_map)); |
| 12270 | mark_object (kb->Vlast_command); | 12270 | mark_object (KVAR (kb, Vlast_command)); |
| 12271 | mark_object (kb->Vreal_last_command); | 12271 | mark_object (KVAR (kb, Vreal_last_command)); |
| 12272 | mark_object (kb->Vkeyboard_translate_table); | 12272 | mark_object (KVAR (kb, Vkeyboard_translate_table)); |
| 12273 | mark_object (kb->Vlast_repeatable_command); | 12273 | mark_object (KVAR (kb, Vlast_repeatable_command)); |
| 12274 | mark_object (kb->Vprefix_arg); | 12274 | mark_object (KVAR (kb, Vprefix_arg)); |
| 12275 | mark_object (kb->Vlast_prefix_arg); | 12275 | mark_object (KVAR (kb, Vlast_prefix_arg)); |
| 12276 | mark_object (kb->kbd_queue); | 12276 | mark_object (KVAR (kb, kbd_queue)); |
| 12277 | mark_object (kb->defining_kbd_macro); | 12277 | mark_object (KVAR (kb, defining_kbd_macro)); |
| 12278 | mark_object (kb->Vlast_kbd_macro); | 12278 | mark_object (KVAR (kb, Vlast_kbd_macro)); |
| 12279 | mark_object (kb->Vsystem_key_alist); | 12279 | mark_object (KVAR (kb, Vsystem_key_alist)); |
| 12280 | mark_object (kb->system_key_syms); | 12280 | mark_object (KVAR (kb, system_key_syms)); |
| 12281 | mark_object (kb->Vwindow_system); | 12281 | mark_object (KVAR (kb, Vwindow_system)); |
| 12282 | mark_object (kb->Vinput_decode_map); | 12282 | mark_object (KVAR (kb, Vinput_decode_map)); |
| 12283 | mark_object (kb->Vlocal_function_key_map); | 12283 | mark_object (KVAR (kb, Vlocal_function_key_map)); |
| 12284 | mark_object (kb->Vdefault_minibuffer_frame); | 12284 | mark_object (KVAR (kb, Vdefault_minibuffer_frame)); |
| 12285 | mark_object (kb->echo_string); | 12285 | mark_object (KVAR (kb, echo_string)); |
| 12286 | } | 12286 | } |
| 12287 | { | 12287 | { |
| 12288 | struct input_event *event; | 12288 | struct input_event *event; |