diff options
| author | Kim F. Storm | 2006-12-04 12:26:58 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2006-12-04 12:26:58 +0000 |
| commit | 8ddd297d1daf7a1589b59d8300fc1c36a9641ae5 (patch) | |
| tree | 9223aac3233e77616504acf0f3bac4b0d0ee50e6 /src | |
| parent | d19c0a1c88f7ed7b76bff9c79726bfdae8fba1ed (diff) | |
| download | emacs-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.c | 33 |
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. */ |
| 5076 | Lisp_Object Qusr1_signal, Qusr2_signal; | 5077 | Lisp_Object Qsignal, Qusr1, Qusr2; |
| 5077 | |||
| 5078 | Lisp_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); |