aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm2006-12-04 12:26:58 +0000
committerKim F. Storm2006-12-04 12:26:58 +0000
commit8ddd297d1daf7a1589b59d8300fc1c36a9641ae5 (patch)
tree9223aac3233e77616504acf0f3bac4b0d0ee50e6 /src
parentd19c0a1c88f7ed7b76bff9c79726bfdae8fba1ed (diff)
downloademacs-8ddd297d1daf7a1589b59d8300fc1c36a9641ae5.tar.gz
emacs-8ddd297d1daf7a1589b59d8300fc1c36a9641ae5.zip
(kbd_buffer_store_event_hold): Don't throw-on-input
if first event in [signal xxx] sequence. (lispy_user_signals, Qusr1_signal, Qusr2_signal): Remove. (syms_of_keyboard): Don't intern and staticpro them. (Qsignal, Qusr1, Qusr2): Declare. (syms_of_keyboard): Intern and staticpro them. (make_lispy_event): Return them for USER_SIGNAL_EVENTs.
Diffstat (limited to 'src')
-rw-r--r--src/keyboard.c33
1 files changed, 20 insertions, 13 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 384fc888e39..b79a183dd0f 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -3784,7 +3784,8 @@ kbd_buffer_store_event_hold (event, hold_quit)
3784 if (!NILP (Vthrow_on_input) 3784 if (!NILP (Vthrow_on_input)
3785 && event->kind != FOCUS_IN_EVENT 3785 && event->kind != FOCUS_IN_EVENT
3786 && event->kind != HELP_EVENT 3786 && event->kind != HELP_EVENT
3787 && event->kind != DEICONIFY_EVENT) 3787 && event->kind != DEICONIFY_EVENT
3788 && !(event->kind == USER_SIGNAL_EVENT && event->code == 0))
3788 { 3789 {
3789 Vquit_flag = Vthrow_on_input; 3790 Vquit_flag = Vthrow_on_input;
3790 /* If we're inside a function that wants immediate quits, 3791 /* If we're inside a function that wants immediate quits,
@@ -5073,13 +5074,7 @@ Lisp_Object *scroll_bar_parts[] = {
5073}; 5074};
5074 5075
5075/* User signal events. */ 5076/* User signal events. */
5076Lisp_Object Qusr1_signal, Qusr2_signal; 5077Lisp_Object Qsignal, Qusr1, Qusr2;
5077
5078Lisp_Object *lispy_user_signals[] =
5079{
5080 &Qusr1_signal, &Qusr2_signal
5081};
5082
5083 5078
5084/* A vector, indexed by button number, giving the down-going location 5079/* A vector, indexed by button number, giving the down-going location
5085 of currently depressed buttons, both scroll bar and non-scroll bar. 5080 of currently depressed buttons, both scroll bar and non-scroll bar.
@@ -5953,7 +5948,17 @@ make_lispy_event (event)
5953 5948
5954 case USER_SIGNAL_EVENT: 5949 case USER_SIGNAL_EVENT:
5955 /* A user signal. */ 5950 /* A user signal. */
5956 return *lispy_user_signals[event->code]; 5951 switch (event->code)
5952 {
5953 case 0:
5954 return Qsignal;
5955 case SIGUSR1:
5956 return Qusr1;
5957 case SIGUSR2:
5958 return Qusr2;
5959 default:
5960 return make_number (event->code);
5961 }
5957 5962
5958 case SAVE_SESSION_EVENT: 5963 case SAVE_SESSION_EVENT:
5959 return Qsave_session; 5964 return Qsave_session;
@@ -11026,10 +11031,12 @@ syms_of_keyboard ()
11026 staticpro (&Qmac_apple_event); 11031 staticpro (&Qmac_apple_event);
11027#endif 11032#endif
11028 11033
11029 Qusr1_signal = intern ("usr1-signal"); 11034 Qsignal = intern ("signal");
11030 staticpro (&Qusr1_signal); 11035 staticpro (&Qsignal);
11031 Qusr2_signal = intern ("usr2-signal"); 11036 Qusr1 = intern ("usr1");
11032 staticpro (&Qusr2_signal); 11037 staticpro (&Qusr1);
11038 Qusr2 = intern ("usr2");
11039 staticpro (&Qusr2);
11033 11040
11034 Qmenu_enable = intern ("menu-enable"); 11041 Qmenu_enable = intern ("menu-enable");
11035 staticpro (&Qmenu_enable); 11042 staticpro (&Qmenu_enable);