aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2018-01-11 22:20:05 -0500
committerStefan Monnier2018-01-12 23:40:35 -0500
commit70e4bb394f36940c4b72cd87d298d9cdabff5998 (patch)
treec7ee8782317d5da3bf53956be480baceff624471 /src
parent0aec5b8a5607505c1b492c10b67214f52f33972a (diff)
downloademacs-70e4bb394f36940c4b72cd87d298d9cdabff5998.tar.gz
emacs-70e4bb394f36940c4b72cd87d298d9cdabff5998.zip
* src/keyboard.c (kbd_buffer_get_event): Use 'switch' ...
...rather than a sequence of else-if.
Diffstat (limited to 'src')
-rw-r--r--src/keyboard.c67
1 files changed, 45 insertions, 22 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 714c8fee656..8e3f0e18c01 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -3873,8 +3873,10 @@ kbd_buffer_get_event (KBOARD **kbp,
3873 /* These two kinds of events get special handling 3873 /* These two kinds of events get special handling
3874 and don't actually appear to the command loop. 3874 and don't actually appear to the command loop.
3875 We return nil for them. */ 3875 We return nil for them. */
3876 if (event->kind == SELECTION_REQUEST_EVENT 3876 switch (event->kind)
3877 || event->kind == SELECTION_CLEAR_EVENT) 3877 {
3878 case SELECTION_REQUEST_EVENT:
3879 case SELECTION_CLEAR_EVENT:
3878 { 3880 {
3879#ifdef HAVE_X11 3881#ifdef HAVE_X11
3880 /* Remove it from the buffer before processing it, 3882 /* Remove it from the buffer before processing it,
@@ -3890,9 +3892,10 @@ kbd_buffer_get_event (KBOARD **kbp,
3890 emacs_abort (); 3892 emacs_abort ();
3891#endif 3893#endif
3892 } 3894 }
3895 break;
3893 3896
3894#if defined (HAVE_NS) 3897#if defined (HAVE_NS)
3895 else if (event->kind == NS_TEXT_EVENT) 3898 case NS_TEXT_EVENT:
3896 { 3899 {
3897 if (event->ie.code == KEY_NS_PUT_WORKING_TEXT) 3900 if (event->ie.code == KEY_NS_PUT_WORKING_TEXT)
3898 obj = list1 (intern ("ns-put-working-text")); 3901 obj = list1 (intern ("ns-put-working-text"));
@@ -3902,60 +3905,67 @@ kbd_buffer_get_event (KBOARD **kbp,
3902 if (used_mouse_menu) 3905 if (used_mouse_menu)
3903 *used_mouse_menu = true; 3906 *used_mouse_menu = true;
3904 } 3907 }
3908 break;
3905#endif 3909#endif
3906 3910
3907#if defined (HAVE_X11) || defined (HAVE_NTGUI) \ 3911#if defined (HAVE_X11) || defined (HAVE_NTGUI) \
3908 || defined (HAVE_NS) 3912 || defined (HAVE_NS)
3909 else if (event->kind == DELETE_WINDOW_EVENT) 3913 case DELETE_WINDOW_EVENT:
3910 { 3914 {
3911 /* Make an event (delete-frame (FRAME)). */ 3915 /* Make an event (delete-frame (FRAME)). */
3912 obj = list2 (Qdelete_frame, list1 (event->ie.frame_or_window)); 3916 obj = list2 (Qdelete_frame, list1 (event->ie.frame_or_window));
3913 kbd_fetch_ptr = event + 1; 3917 kbd_fetch_ptr = event + 1;
3914 } 3918 }
3919 break;
3915#endif 3920#endif
3916 3921
3917#ifdef HAVE_NTGUI 3922#ifdef HAVE_NTGUI
3918 else if (event->kind == END_SESSION_EVENT) 3923 case END_SESSION_EVENT:
3919 { 3924 {
3920 /* Make an event (end-session). */ 3925 /* Make an event (end-session). */
3921 obj = list1 (Qend_session); 3926 obj = list1 (Qend_session);
3922 kbd_fetch_ptr = event + 1; 3927 kbd_fetch_ptr = event + 1;
3923 } 3928 }
3929 break;
3924#endif 3930#endif
3925 3931
3926#if defined (HAVE_X11) || defined (HAVE_NTGUI) \ 3932#if defined (HAVE_X11) || defined (HAVE_NTGUI) \
3927 || defined (HAVE_NS) 3933 || defined (HAVE_NS)
3928 else if (event->kind == ICONIFY_EVENT) 3934 case ICONIFY_EVENT:
3929 { 3935 {
3930 /* Make an event (iconify-frame (FRAME)). */ 3936 /* Make an event (iconify-frame (FRAME)). */
3931 obj = list2 (Qiconify_frame, list1 (event->ie.frame_or_window)); 3937 obj = list2 (Qiconify_frame, list1 (event->ie.frame_or_window));
3932 kbd_fetch_ptr = event + 1; 3938 kbd_fetch_ptr = event + 1;
3933 } 3939 }
3934 else if (event->kind == DEICONIFY_EVENT) 3940 break;
3941 case DEICONIFY_EVENT:
3935 { 3942 {
3936 /* Make an event (make-frame-visible (FRAME)). */ 3943 /* Make an event (make-frame-visible (FRAME)). */
3937 obj = list2 (Qmake_frame_visible, list1 (event->ie.frame_or_window)); 3944 obj = list2 (Qmake_frame_visible, list1 (event->ie.frame_or_window));
3938 kbd_fetch_ptr = event + 1; 3945 kbd_fetch_ptr = event + 1;
3939 } 3946 }
3947 break;
3940#endif 3948#endif
3941 else if (event->kind == BUFFER_SWITCH_EVENT) 3949 case BUFFER_SWITCH_EVENT:
3942 { 3950 {
3943 /* The value doesn't matter here; only the type is tested. */ 3951 /* The value doesn't matter here; only the type is tested. */
3944 XSETBUFFER (obj, current_buffer); 3952 XSETBUFFER (obj, current_buffer);
3945 kbd_fetch_ptr = event + 1; 3953 kbd_fetch_ptr = event + 1;
3946 } 3954 }
3955 break;
3947#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \ 3956#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
3948 || defined (HAVE_NS) || defined (USE_GTK) 3957 || defined (HAVE_NS) || defined (USE_GTK)
3949 else if (event->kind == MENU_BAR_ACTIVATE_EVENT) 3958 case MENU_BAR_ACTIVATE_EVENT:
3950 { 3959 {
3951 kbd_fetch_ptr = event + 1; 3960 kbd_fetch_ptr = event + 1;
3952 input_pending = readable_events (0); 3961 input_pending = readable_events (0);
3953 if (FRAME_LIVE_P (XFRAME (event->ie.frame_or_window))) 3962 if (FRAME_LIVE_P (XFRAME (event->ie.frame_or_window)))
3954 x_activate_menubar (XFRAME (event->ie.frame_or_window)); 3963 x_activate_menubar (XFRAME (event->ie.frame_or_window));
3955 } 3964 }
3965 break;
3956#endif 3966#endif
3957#ifdef HAVE_NTGUI 3967#ifdef HAVE_NTGUI
3958 else if (event->kind == LANGUAGE_CHANGE_EVENT) 3968 case LANGUAGE_CHANGE_EVENT:
3959 { 3969 {
3960 /* Make an event (language-change FRAME CODEPAGE LANGUAGE-ID). */ 3970 /* Make an event (language-change FRAME CODEPAGE LANGUAGE-ID). */
3961 obj = list4 (Qlanguage_change, 3971 obj = list4 (Qlanguage_change,
@@ -3964,9 +3974,10 @@ kbd_buffer_get_event (KBOARD **kbp,
3964 make_number (event->ie.modifiers)); 3974 make_number (event->ie.modifiers));
3965 kbd_fetch_ptr = event + 1; 3975 kbd_fetch_ptr = event + 1;
3966 } 3976 }
3977 break;
3967#endif 3978#endif
3968#ifdef USE_FILE_NOTIFY 3979#ifdef USE_FILE_NOTIFY
3969 else if (event->kind == FILE_NOTIFY_EVENT) 3980 case FILE_NOTIFY_EVENT:
3970 { 3981 {
3971#ifdef HAVE_W32NOTIFY 3982#ifdef HAVE_W32NOTIFY
3972 /* Make an event (file-notify (DESCRIPTOR ACTION FILE) CALLBACK). */ 3983 /* Make an event (file-notify (DESCRIPTOR ACTION FILE) CALLBACK). */
@@ -3976,12 +3987,14 @@ kbd_buffer_get_event (KBOARD **kbp,
3976#endif 3987#endif
3977 kbd_fetch_ptr = event + 1; 3988 kbd_fetch_ptr = event + 1;
3978 } 3989 }
3990 break;
3979#endif /* USE_FILE_NOTIFY */ 3991#endif /* USE_FILE_NOTIFY */
3980 else if (event->kind == SAVE_SESSION_EVENT) 3992 case SAVE_SESSION_EVENT:
3981 { 3993 {
3982 obj = list2 (Qsave_session, event->ie.arg); 3994 obj = list2 (Qsave_session, event->ie.arg);
3983 kbd_fetch_ptr = event + 1; 3995 kbd_fetch_ptr = event + 1;
3984 } 3996 }
3997 break;
3985 /* Just discard these, by returning nil. 3998 /* Just discard these, by returning nil.
3986 With MULTI_KBOARD, these events are used as placeholders 3999 With MULTI_KBOARD, these events are used as placeholders
3987 when we need to randomly delete events from the queue. 4000 when we need to randomly delete events from the queue.
@@ -3990,9 +4003,10 @@ kbd_buffer_get_event (KBOARD **kbp,
3990 even without MULTI_KBOARD.) */ 4003 even without MULTI_KBOARD.) */
3991 /* On Windows NT/9X, NO_EVENT is used to delete extraneous 4004 /* On Windows NT/9X, NO_EVENT is used to delete extraneous
3992 mouse events during a popup-menu call. */ 4005 mouse events during a popup-menu call. */
3993 else if (event->kind == NO_EVENT) 4006 case NO_EVENT:
3994 kbd_fetch_ptr = event + 1; 4007 kbd_fetch_ptr = event + 1;
3995 else if (event->kind == HELP_EVENT) 4008 break;
4009 case HELP_EVENT:
3996 { 4010 {
3997 Lisp_Object object, position, help, frame, window; 4011 Lisp_Object object, position, help, frame, window;
3998 4012
@@ -4009,7 +4023,8 @@ kbd_buffer_get_event (KBOARD **kbp,
4009 obj = Fcons (Qhelp_echo, 4023 obj = Fcons (Qhelp_echo,
4010 list5 (frame, help, window, object, position)); 4024 list5 (frame, help, window, object, position));
4011 } 4025 }
4012 else if (event->kind == FOCUS_IN_EVENT) 4026 break;
4027 case FOCUS_IN_EVENT:
4013 { 4028 {
4014 /* Notification of a FocusIn event. The frame receiving the 4029 /* Notification of a FocusIn event. The frame receiving the
4015 focus is in event->frame_or_window. Generate a 4030 focus is in event->frame_or_window. Generate a
@@ -4035,7 +4050,8 @@ kbd_buffer_get_event (KBOARD **kbp,
4035 internal_last_event_frame = frame; 4050 internal_last_event_frame = frame;
4036 kbd_fetch_ptr = event + 1; 4051 kbd_fetch_ptr = event + 1;
4037 } 4052 }
4038 else if (event->kind == FOCUS_OUT_EVENT) 4053 break;
4054 case FOCUS_OUT_EVENT:
4039 { 4055 {
4040#ifdef HAVE_WINDOW_SYSTEM 4056#ifdef HAVE_WINDOW_SYSTEM
4041 4057
@@ -4053,39 +4069,45 @@ kbd_buffer_get_event (KBOARD **kbp,
4053 4069
4054 kbd_fetch_ptr = event + 1; 4070 kbd_fetch_ptr = event + 1;
4055 } 4071 }
4072 break;
4056#ifdef HAVE_DBUS 4073#ifdef HAVE_DBUS
4057 else if (event->kind == DBUS_EVENT) 4074 case DBUS_EVENT:
4058 { 4075 {
4059 obj = make_lispy_event (&event->ie); 4076 obj = make_lispy_event (&event->ie);
4060 kbd_fetch_ptr = event + 1; 4077 kbd_fetch_ptr = event + 1;
4061 } 4078 }
4079 break;
4062#endif 4080#endif
4063#if defined (HAVE_X11) || defined (HAVE_NTGUI) || defined (HAVE_NS) 4081#if defined (HAVE_X11) || defined (HAVE_NTGUI) || defined (HAVE_NS)
4064 else if (event->kind == MOVE_FRAME_EVENT) 4082 case MOVE_FRAME_EVENT:
4065 { 4083 {
4066 /* Make an event (move-frame (FRAME)). */ 4084 /* Make an event (move-frame (FRAME)). */
4067 obj = list2 (Qmove_frame, list1 (event->ie.frame_or_window)); 4085 obj = list2 (Qmove_frame, list1 (event->ie.frame_or_window));
4068 kbd_fetch_ptr = event + 1; 4086 kbd_fetch_ptr = event + 1;
4069 } 4087 }
4088 break;
4070#endif 4089#endif
4071#ifdef HAVE_XWIDGETS 4090#ifdef HAVE_XWIDGETS
4072 else if (event->kind == XWIDGET_EVENT) 4091 case XWIDGET_EVENT:
4073 { 4092 {
4074 obj = make_lispy_event (&event->ie); 4093 obj = make_lispy_event (&event->ie);
4075 kbd_fetch_ptr = event + 1; 4094 kbd_fetch_ptr = event + 1;
4076 } 4095 }
4096 break;
4077#endif 4097#endif
4078 else if (event->kind == CONFIG_CHANGED_EVENT) 4098 case CONFIG_CHANGED_EVENT:
4079 { 4099 {
4080 obj = make_lispy_event (&event->ie); 4100 obj = make_lispy_event (&event->ie);
4081 kbd_fetch_ptr = event + 1; 4101 kbd_fetch_ptr = event + 1;
4082 } 4102 }
4083 else if (event->kind == SELECT_WINDOW_EVENT) 4103 break;
4104 case SELECT_WINDOW_EVENT:
4084 { 4105 {
4085 obj = list2 (Qselect_window, list1 (event->ie.frame_or_window)); 4106 obj = list2 (Qselect_window, list1 (event->ie.frame_or_window));
4086 kbd_fetch_ptr = event + 1; 4107 kbd_fetch_ptr = event + 1;
4087 } 4108 }
4088 else 4109 break;
4110 default:
4089 { 4111 {
4090 /* If this event is on a different frame, return a switch-frame this 4112 /* If this event is on a different frame, return a switch-frame this
4091 time, and leave the event in the queue for next time. */ 4113 time, and leave the event in the queue for next time. */
@@ -4139,6 +4161,7 @@ kbd_buffer_get_event (KBOARD **kbp,
4139 kbd_fetch_ptr = event + 1; 4161 kbd_fetch_ptr = event + 1;
4140 } 4162 }
4141 } 4163 }
4164 }
4142 } 4165 }
4143 /* Try generating a mouse motion event. */ 4166 /* Try generating a mouse motion event. */
4144 else if (!NILP (do_mouse_tracking) && some_mouse_moved ()) 4167 else if (!NILP (do_mouse_tracking) && some_mouse_moved ())