diff options
| author | Stefan Monnier | 2018-01-12 23:37:06 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2018-01-12 23:40:47 -0500 |
| commit | 815d3827f9f44384afac3eb2084e84be7083ea68 (patch) | |
| tree | 23762e5f04c8fb24640b1c71199b5edf5b1104ec /src | |
| parent | 70e4bb394f36940c4b72cd87d298d9cdabff5998 (diff) | |
| download | emacs-815d3827f9f44384afac3eb2084e84be7083ea68.tar.gz emacs-815d3827f9f44384afac3eb2084e84be7083ea68.zip | |
* src/keyboard.c: Consolidate code into make_lispy_event
(clear_event): Change arg type. Adjust callers.
(kbd_buffer_get_event): Move most special event handling to
make_lispy_event.
(make_lispy_event): Add missing cases, taken from kbd_buffer_get_event.
<SAVE_SESSION_EVENT>: Change return value to match what used to be built
in kbd_buffer_get_event.
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 342 |
1 files changed, 145 insertions, 197 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 8e3f0e18c01..64ad8b2c8fa 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -3736,7 +3736,7 @@ kbd_buffer_events_waiting (void) | |||
| 3736 | /* Clear input event EVENT. */ | 3736 | /* Clear input event EVENT. */ |
| 3737 | 3737 | ||
| 3738 | static void | 3738 | static void |
| 3739 | clear_event (union buffered_input_event *event) | 3739 | clear_event (struct input_event *event) |
| 3740 | { | 3740 | { |
| 3741 | event->kind = NO_EVENT; | 3741 | event->kind = NO_EVENT; |
| 3742 | } | 3742 | } |
| @@ -3894,65 +3894,6 @@ kbd_buffer_get_event (KBOARD **kbp, | |||
| 3894 | } | 3894 | } |
| 3895 | break; | 3895 | break; |
| 3896 | 3896 | ||
| 3897 | #if defined (HAVE_NS) | ||
| 3898 | case NS_TEXT_EVENT: | ||
| 3899 | { | ||
| 3900 | if (event->ie.code == KEY_NS_PUT_WORKING_TEXT) | ||
| 3901 | obj = list1 (intern ("ns-put-working-text")); | ||
| 3902 | else | ||
| 3903 | obj = list1 (intern ("ns-unput-working-text")); | ||
| 3904 | kbd_fetch_ptr = event + 1; | ||
| 3905 | if (used_mouse_menu) | ||
| 3906 | *used_mouse_menu = true; | ||
| 3907 | } | ||
| 3908 | break; | ||
| 3909 | #endif | ||
| 3910 | |||
| 3911 | #if defined (HAVE_X11) || defined (HAVE_NTGUI) \ | ||
| 3912 | || defined (HAVE_NS) | ||
| 3913 | case DELETE_WINDOW_EVENT: | ||
| 3914 | { | ||
| 3915 | /* Make an event (delete-frame (FRAME)). */ | ||
| 3916 | obj = list2 (Qdelete_frame, list1 (event->ie.frame_or_window)); | ||
| 3917 | kbd_fetch_ptr = event + 1; | ||
| 3918 | } | ||
| 3919 | break; | ||
| 3920 | #endif | ||
| 3921 | |||
| 3922 | #ifdef HAVE_NTGUI | ||
| 3923 | case END_SESSION_EVENT: | ||
| 3924 | { | ||
| 3925 | /* Make an event (end-session). */ | ||
| 3926 | obj = list1 (Qend_session); | ||
| 3927 | kbd_fetch_ptr = event + 1; | ||
| 3928 | } | ||
| 3929 | break; | ||
| 3930 | #endif | ||
| 3931 | |||
| 3932 | #if defined (HAVE_X11) || defined (HAVE_NTGUI) \ | ||
| 3933 | || defined (HAVE_NS) | ||
| 3934 | case ICONIFY_EVENT: | ||
| 3935 | { | ||
| 3936 | /* Make an event (iconify-frame (FRAME)). */ | ||
| 3937 | obj = list2 (Qiconify_frame, list1 (event->ie.frame_or_window)); | ||
| 3938 | kbd_fetch_ptr = event + 1; | ||
| 3939 | } | ||
| 3940 | break; | ||
| 3941 | case DEICONIFY_EVENT: | ||
| 3942 | { | ||
| 3943 | /* Make an event (make-frame-visible (FRAME)). */ | ||
| 3944 | obj = list2 (Qmake_frame_visible, list1 (event->ie.frame_or_window)); | ||
| 3945 | kbd_fetch_ptr = event + 1; | ||
| 3946 | } | ||
| 3947 | break; | ||
| 3948 | #endif | ||
| 3949 | case BUFFER_SWITCH_EVENT: | ||
| 3950 | { | ||
| 3951 | /* The value doesn't matter here; only the type is tested. */ | ||
| 3952 | XSETBUFFER (obj, current_buffer); | ||
| 3953 | kbd_fetch_ptr = event + 1; | ||
| 3954 | } | ||
| 3955 | break; | ||
| 3956 | #if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \ | 3897 | #if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \ |
| 3957 | || defined (HAVE_NS) || defined (USE_GTK) | 3898 | || defined (HAVE_NS) || defined (USE_GTK) |
| 3958 | case MENU_BAR_ACTIVATE_EVENT: | 3899 | case MENU_BAR_ACTIVATE_EVENT: |
| @@ -3964,148 +3905,40 @@ kbd_buffer_get_event (KBOARD **kbp, | |||
| 3964 | } | 3905 | } |
| 3965 | break; | 3906 | break; |
| 3966 | #endif | 3907 | #endif |
| 3908 | #if defined (HAVE_NS) | ||
| 3909 | case NS_TEXT_EVENT: | ||
| 3910 | #endif | ||
| 3967 | #ifdef HAVE_NTGUI | 3911 | #ifdef HAVE_NTGUI |
| 3912 | case END_SESSION_EVENT: | ||
| 3968 | case LANGUAGE_CHANGE_EVENT: | 3913 | case LANGUAGE_CHANGE_EVENT: |
| 3969 | { | 3914 | #endif |
| 3970 | /* Make an event (language-change FRAME CODEPAGE LANGUAGE-ID). */ | 3915 | #if defined (HAVE_X11) || defined (HAVE_NTGUI) || defined (HAVE_NS) |
| 3971 | obj = list4 (Qlanguage_change, | 3916 | case DELETE_WINDOW_EVENT: |
| 3972 | event->ie.frame_or_window, | 3917 | case ICONIFY_EVENT: |
| 3973 | make_number (event->ie.code), | 3918 | case DEICONIFY_EVENT: |
| 3974 | make_number (event->ie.modifiers)); | 3919 | case MOVE_FRAME_EVENT: |
| 3975 | kbd_fetch_ptr = event + 1; | ||
| 3976 | } | ||
| 3977 | break; | ||
| 3978 | #endif | 3920 | #endif |
| 3979 | #ifdef USE_FILE_NOTIFY | 3921 | #ifdef USE_FILE_NOTIFY |
| 3980 | case FILE_NOTIFY_EVENT: | 3922 | case FILE_NOTIFY_EVENT: |
| 3981 | { | ||
| 3982 | #ifdef HAVE_W32NOTIFY | ||
| 3983 | /* Make an event (file-notify (DESCRIPTOR ACTION FILE) CALLBACK). */ | ||
| 3984 | obj = list3 (Qfile_notify, event->ie.arg, event->ie.frame_or_window); | ||
| 3985 | #else | ||
| 3986 | obj = make_lispy_event (&event->ie); | ||
| 3987 | #endif | ||
| 3988 | kbd_fetch_ptr = event + 1; | ||
| 3989 | } | ||
| 3990 | break; | ||
| 3991 | #endif /* USE_FILE_NOTIFY */ | ||
| 3992 | case SAVE_SESSION_EVENT: | ||
| 3993 | { | ||
| 3994 | obj = list2 (Qsave_session, event->ie.arg); | ||
| 3995 | kbd_fetch_ptr = event + 1; | ||
| 3996 | } | ||
| 3997 | break; | ||
| 3998 | /* Just discard these, by returning nil. | ||
| 3999 | With MULTI_KBOARD, these events are used as placeholders | ||
| 4000 | when we need to randomly delete events from the queue. | ||
| 4001 | (They shouldn't otherwise be found in the buffer, | ||
| 4002 | but on some machines it appears they do show up | ||
| 4003 | even without MULTI_KBOARD.) */ | ||
| 4004 | /* On Windows NT/9X, NO_EVENT is used to delete extraneous | ||
| 4005 | mouse events during a popup-menu call. */ | ||
| 4006 | case NO_EVENT: | ||
| 4007 | kbd_fetch_ptr = event + 1; | ||
| 4008 | break; | ||
| 4009 | case HELP_EVENT: | ||
| 4010 | { | ||
| 4011 | Lisp_Object object, position, help, frame, window; | ||
| 4012 | |||
| 4013 | frame = event->ie.frame_or_window; | ||
| 4014 | object = event->ie.arg; | ||
| 4015 | position = make_number (Time_to_position (event->ie.timestamp)); | ||
| 4016 | window = event->ie.x; | ||
| 4017 | help = event->ie.y; | ||
| 4018 | clear_event (event); | ||
| 4019 | |||
| 4020 | kbd_fetch_ptr = event + 1; | ||
| 4021 | if (!WINDOWP (window)) | ||
| 4022 | window = Qnil; | ||
| 4023 | obj = Fcons (Qhelp_echo, | ||
| 4024 | list5 (frame, help, window, object, position)); | ||
| 4025 | } | ||
| 4026 | break; | ||
| 4027 | case FOCUS_IN_EVENT: | ||
| 4028 | { | ||
| 4029 | /* Notification of a FocusIn event. The frame receiving the | ||
| 4030 | focus is in event->frame_or_window. Generate a | ||
| 4031 | switch-frame event if necessary. */ | ||
| 4032 | Lisp_Object frame, focus; | ||
| 4033 | |||
| 4034 | frame = event->ie.frame_or_window; | ||
| 4035 | focus = FRAME_FOCUS_FRAME (XFRAME (frame)); | ||
| 4036 | if (FRAMEP (focus)) | ||
| 4037 | frame = focus; | ||
| 4038 | |||
| 4039 | if ( | ||
| 4040 | #ifdef HAVE_X11 | ||
| 4041 | ! NILP (event->ie.arg) | ||
| 4042 | && | ||
| 4043 | #endif | 3923 | #endif |
| 4044 | !EQ (frame, internal_last_event_frame) | ||
| 4045 | && !EQ (frame, selected_frame)) | ||
| 4046 | obj = make_lispy_switch_frame (frame); | ||
| 4047 | else | ||
| 4048 | obj = make_lispy_focus_in (frame); | ||
| 4049 | |||
| 4050 | internal_last_event_frame = frame; | ||
| 4051 | kbd_fetch_ptr = event + 1; | ||
| 4052 | } | ||
| 4053 | break; | ||
| 4054 | case FOCUS_OUT_EVENT: | ||
| 4055 | { | ||
| 4056 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 4057 | |||
| 4058 | Display_Info *di; | ||
| 4059 | Lisp_Object frame = event->ie.frame_or_window; | ||
| 4060 | bool focused = false; | ||
| 4061 | |||
| 4062 | for (di = x_display_list; di && ! focused; di = di->next) | ||
| 4063 | focused = di->x_highlight_frame != 0; | ||
| 4064 | |||
| 4065 | if (!focused) | ||
| 4066 | obj = make_lispy_focus_out (frame); | ||
| 4067 | |||
| 4068 | #endif /* HAVE_WINDOW_SYSTEM */ | ||
| 4069 | |||
| 4070 | kbd_fetch_ptr = event + 1; | ||
| 4071 | } | ||
| 4072 | break; | ||
| 4073 | #ifdef HAVE_DBUS | 3924 | #ifdef HAVE_DBUS |
| 4074 | case DBUS_EVENT: | 3925 | case DBUS_EVENT: |
| 4075 | { | ||
| 4076 | obj = make_lispy_event (&event->ie); | ||
| 4077 | kbd_fetch_ptr = event + 1; | ||
| 4078 | } | ||
| 4079 | break; | ||
| 4080 | #endif | ||
| 4081 | #if defined (HAVE_X11) || defined (HAVE_NTGUI) || defined (HAVE_NS) | ||
| 4082 | case MOVE_FRAME_EVENT: | ||
| 4083 | { | ||
| 4084 | /* Make an event (move-frame (FRAME)). */ | ||
| 4085 | obj = list2 (Qmove_frame, list1 (event->ie.frame_or_window)); | ||
| 4086 | kbd_fetch_ptr = event + 1; | ||
| 4087 | } | ||
| 4088 | break; | ||
| 4089 | #endif | 3926 | #endif |
| 4090 | #ifdef HAVE_XWIDGETS | 3927 | #ifdef HAVE_XWIDGETS |
| 4091 | case XWIDGET_EVENT: | 3928 | case XWIDGET_EVENT: |
| 4092 | { | ||
| 4093 | obj = make_lispy_event (&event->ie); | ||
| 4094 | kbd_fetch_ptr = event + 1; | ||
| 4095 | } | ||
| 4096 | break; | ||
| 4097 | #endif | 3929 | #endif |
| 3930 | case BUFFER_SWITCH_EVENT: | ||
| 3931 | case SAVE_SESSION_EVENT: | ||
| 3932 | case NO_EVENT: | ||
| 3933 | case HELP_EVENT: | ||
| 3934 | case FOCUS_IN_EVENT: | ||
| 4098 | case CONFIG_CHANGED_EVENT: | 3935 | case CONFIG_CHANGED_EVENT: |
| 4099 | { | 3936 | case FOCUS_OUT_EVENT: |
| 4100 | obj = make_lispy_event (&event->ie); | ||
| 4101 | kbd_fetch_ptr = event + 1; | ||
| 4102 | } | ||
| 4103 | break; | ||
| 4104 | case SELECT_WINDOW_EVENT: | 3937 | case SELECT_WINDOW_EVENT: |
| 4105 | { | 3938 | { |
| 4106 | obj = list2 (Qselect_window, list1 (event->ie.frame_or_window)); | 3939 | obj = make_lispy_event (&event->ie); |
| 4107 | kbd_fetch_ptr = event + 1; | 3940 | kbd_fetch_ptr = event + 1; |
| 4108 | } | 3941 | } |
| 4109 | break; | 3942 | break; |
| 4110 | default: | 3943 | default: |
| 4111 | { | 3944 | { |
| @@ -4157,7 +3990,7 @@ kbd_buffer_get_event (KBOARD **kbp, | |||
| 4157 | #endif | 3990 | #endif |
| 4158 | 3991 | ||
| 4159 | /* Wipe out this event, to catch bugs. */ | 3992 | /* Wipe out this event, to catch bugs. */ |
| 4160 | clear_event (event); | 3993 | clear_event (&event->ie); |
| 4161 | kbd_fetch_ptr = event + 1; | 3994 | kbd_fetch_ptr = event + 1; |
| 4162 | } | 3995 | } |
| 4163 | } | 3996 | } |
| @@ -5471,7 +5304,101 @@ make_lispy_event (struct input_event *event) | |||
| 5471 | 5304 | ||
| 5472 | switch (event->kind) | 5305 | switch (event->kind) |
| 5473 | { | 5306 | { |
| 5474 | /* A simple keystroke. */ | 5307 | #if defined (HAVE_X11) || defined (HAVE_NTGUI) || defined (HAVE_NS) |
| 5308 | case DELETE_WINDOW_EVENT: | ||
| 5309 | /* Make an event (delete-frame (FRAME)). */ | ||
| 5310 | return list2 (Qdelete_frame, list1 (event->frame_or_window)); | ||
| 5311 | |||
| 5312 | case ICONIFY_EVENT: | ||
| 5313 | /* Make an event (iconify-frame (FRAME)). */ | ||
| 5314 | return list2 (Qiconify_frame, list1 (event->frame_or_window)); | ||
| 5315 | |||
| 5316 | case DEICONIFY_EVENT: | ||
| 5317 | /* Make an event (make-frame-visible (FRAME)). */ | ||
| 5318 | return list2 (Qmake_frame_visible, list1 (event->frame_or_window)); | ||
| 5319 | |||
| 5320 | case MOVE_FRAME_EVENT: | ||
| 5321 | /* Make an event (move-frame (FRAME)). */ | ||
| 5322 | return list2 (Qmove_frame, list1 (event->frame_or_window)); | ||
| 5323 | #endif | ||
| 5324 | |||
| 5325 | case BUFFER_SWITCH_EVENT: | ||
| 5326 | { | ||
| 5327 | /* The value doesn't matter here; only the type is tested. */ | ||
| 5328 | Lisp_Object obj; | ||
| 5329 | XSETBUFFER (obj, current_buffer); | ||
| 5330 | return obj; | ||
| 5331 | } | ||
| 5332 | |||
| 5333 | /* Just discard these, by returning nil. | ||
| 5334 | With MULTI_KBOARD, these events are used as placeholders | ||
| 5335 | when we need to randomly delete events from the queue. | ||
| 5336 | (They shouldn't otherwise be found in the buffer, | ||
| 5337 | but on some machines it appears they do show up | ||
| 5338 | even without MULTI_KBOARD.) */ | ||
| 5339 | /* On Windows NT/9X, NO_EVENT is used to delete extraneous | ||
| 5340 | mouse events during a popup-menu call. */ | ||
| 5341 | case NO_EVENT: | ||
| 5342 | return Qnil; | ||
| 5343 | |||
| 5344 | case HELP_EVENT: | ||
| 5345 | { | ||
| 5346 | Lisp_Object frame = event->frame_or_window; | ||
| 5347 | Lisp_Object object = event->arg; | ||
| 5348 | Lisp_Object position | ||
| 5349 | = make_number (Time_to_position (event->timestamp)); | ||
| 5350 | Lisp_Object window = event->x; | ||
| 5351 | Lisp_Object help = event->y; | ||
| 5352 | clear_event (event); | ||
| 5353 | |||
| 5354 | if (!WINDOWP (window)) | ||
| 5355 | window = Qnil; | ||
| 5356 | return Fcons (Qhelp_echo, | ||
| 5357 | list5 (frame, help, window, object, position)); | ||
| 5358 | } | ||
| 5359 | |||
| 5360 | case FOCUS_IN_EVENT: | ||
| 5361 | { | ||
| 5362 | /* Notification of a FocusIn event. The frame receiving the | ||
| 5363 | focus is in event->frame_or_window. Generate a | ||
| 5364 | switch-frame event if necessary. */ | ||
| 5365 | |||
| 5366 | Lisp_Object frame = event->frame_or_window; | ||
| 5367 | Lisp_Object focus = FRAME_FOCUS_FRAME (XFRAME (frame)); | ||
| 5368 | if (FRAMEP (focus)) | ||
| 5369 | frame = focus; | ||
| 5370 | bool switching | ||
| 5371 | = ( | ||
| 5372 | #ifdef HAVE_X11 | ||
| 5373 | ! NILP (event->arg) | ||
| 5374 | && | ||
| 5375 | #endif | ||
| 5376 | !EQ (frame, internal_last_event_frame) | ||
| 5377 | && !EQ (frame, selected_frame)); | ||
| 5378 | internal_last_event_frame = frame; | ||
| 5379 | |||
| 5380 | return (switching ? make_lispy_switch_frame (frame) | ||
| 5381 | : make_lispy_focus_in (frame)); | ||
| 5382 | } | ||
| 5383 | |||
| 5384 | case FOCUS_OUT_EVENT: | ||
| 5385 | { | ||
| 5386 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 5387 | |||
| 5388 | Display_Info *di; | ||
| 5389 | Lisp_Object frame = event->frame_or_window; | ||
| 5390 | bool focused = false; | ||
| 5391 | |||
| 5392 | for (di = x_display_list; di && ! focused; di = di->next) | ||
| 5393 | focused = di->x_highlight_frame != 0; | ||
| 5394 | |||
| 5395 | return focused ? Qnil | ||
| 5396 | : make_lispy_focus_out (frame); | ||
| 5397 | |||
| 5398 | #endif /* HAVE_WINDOW_SYSTEM */ | ||
| 5399 | } | ||
| 5400 | |||
| 5401 | /* A simple keystroke. */ | ||
| 5475 | case ASCII_KEYSTROKE_EVENT: | 5402 | case ASCII_KEYSTROKE_EVENT: |
| 5476 | case MULTIBYTE_CHAR_KEYSTROKE_EVENT: | 5403 | case MULTIBYTE_CHAR_KEYSTROKE_EVENT: |
| 5477 | { | 5404 | { |
| @@ -5535,6 +5462,13 @@ make_lispy_event (struct input_event *event) | |||
| 5535 | } | 5462 | } |
| 5536 | 5463 | ||
| 5537 | #ifdef HAVE_NS | 5464 | #ifdef HAVE_NS |
| 5465 | case NS_TEXT_EVENT: | ||
| 5466 | if (used_mouse_menu) | ||
| 5467 | *used_mouse_menu = true; | ||
| 5468 | return list1 (intern (event->code == KEY_NS_PUT_WORKING_TEXT | ||
| 5469 | ? "ns-put-working-text" | ||
| 5470 | : "ns-unput-working-text")); | ||
| 5471 | |||
| 5538 | /* NS_NONKEY_EVENTs are just like NON_ASCII_KEYSTROKE_EVENTs, | 5472 | /* NS_NONKEY_EVENTs are just like NON_ASCII_KEYSTROKE_EVENTs, |
| 5539 | except that they are non-key events (last-nonmenu-event is nil). */ | 5473 | except that they are non-key events (last-nonmenu-event is nil). */ |
| 5540 | case NS_NONKEY_EVENT: | 5474 | case NS_NONKEY_EVENT: |
| @@ -5597,6 +5531,17 @@ make_lispy_event (struct input_event *event) | |||
| 5597 | PTRDIFF_MAX); | 5531 | PTRDIFF_MAX); |
| 5598 | 5532 | ||
| 5599 | #ifdef HAVE_NTGUI | 5533 | #ifdef HAVE_NTGUI |
| 5534 | case END_SESSION_EVENT: | ||
| 5535 | /* Make an event (end-session). */ | ||
| 5536 | return list1 (Qend_session); | ||
| 5537 | |||
| 5538 | case LANGUAGE_CHANGE_EVENT: | ||
| 5539 | /* Make an event (language-change FRAME CODEPAGE LANGUAGE-ID). */ | ||
| 5540 | return list4 (Qlanguage_change, | ||
| 5541 | event->frame_or_window, | ||
| 5542 | make_number (event->code), | ||
| 5543 | make_number (event->modifiers)); | ||
| 5544 | |||
| 5600 | case MULTIMEDIA_KEY_EVENT: | 5545 | case MULTIMEDIA_KEY_EVENT: |
| 5601 | if (event->code < ARRAYELTS (lispy_multimedia_keys) | 5546 | if (event->code < ARRAYELTS (lispy_multimedia_keys) |
| 5602 | && event->code > 0 && lispy_multimedia_keys[event->code]) | 5547 | && event->code > 0 && lispy_multimedia_keys[event->code]) |
| @@ -6090,7 +6035,7 @@ make_lispy_event (struct input_event *event) | |||
| 6090 | } | 6035 | } |
| 6091 | 6036 | ||
| 6092 | case SAVE_SESSION_EVENT: | 6037 | case SAVE_SESSION_EVENT: |
| 6093 | return Qsave_session; | 6038 | return list2 (Qsave_session, event->arg); |
| 6094 | 6039 | ||
| 6095 | #ifdef HAVE_DBUS | 6040 | #ifdef HAVE_DBUS |
| 6096 | case DBUS_EVENT: | 6041 | case DBUS_EVENT: |
| @@ -6106,12 +6051,15 @@ make_lispy_event (struct input_event *event) | |||
| 6106 | } | 6051 | } |
| 6107 | #endif | 6052 | #endif |
| 6108 | 6053 | ||
| 6109 | #if defined HAVE_INOTIFY || defined HAVE_KQUEUE || defined HAVE_GFILENOTIFY | 6054 | #ifdef USE_FILE_NOTIFY |
| 6110 | case FILE_NOTIFY_EVENT: | 6055 | case FILE_NOTIFY_EVENT: |
| 6111 | { | 6056 | #ifdef HAVE_W32NOTIFY |
| 6112 | return Fcons (Qfile_notify, event->arg); | 6057 | /* Make an event (file-notify (DESCRIPTOR ACTION FILE) CALLBACK). */ |
| 6113 | } | 6058 | return list3 (Qfile_notify, event->arg, event->frame_or_window); |
| 6114 | #endif /* HAVE_INOTIFY || HAVE_KQUEUE || HAVE_GFILENOTIFY */ | 6059 | #else |
| 6060 | return Fcons (Qfile_notify, event->arg); | ||
| 6061 | #endif | ||
| 6062 | #endif /* USE_FILE_NOTIFY */ | ||
| 6115 | 6063 | ||
| 6116 | case CONFIG_CHANGED_EVENT: | 6064 | case CONFIG_CHANGED_EVENT: |
| 6117 | return list3 (Qconfig_changed_event, | 6065 | return list3 (Qconfig_changed_event, |
| @@ -10337,7 +10285,7 @@ stuff_buffered_input (Lisp_Object stuffstring) | |||
| 10337 | if (kbd_fetch_ptr->kind == ASCII_KEYSTROKE_EVENT) | 10285 | if (kbd_fetch_ptr->kind == ASCII_KEYSTROKE_EVENT) |
| 10338 | stuff_char (kbd_fetch_ptr->ie.code); | 10286 | stuff_char (kbd_fetch_ptr->ie.code); |
| 10339 | 10287 | ||
| 10340 | clear_event (kbd_fetch_ptr); | 10288 | clear_event (&kbd_fetch_ptr->ie); |
| 10341 | } | 10289 | } |
| 10342 | 10290 | ||
| 10343 | input_pending = false; | 10291 | input_pending = false; |