]> git.eshelyaron.com Git - emacs.git/commitdiff
(kbd_buffer_store_event_hold): Don't throw-on-input
authorKim F. Storm <storm@cua.dk>
Mon, 4 Dec 2006 12:26:58 +0000 (12:26 +0000)
committerKim F. Storm <storm@cua.dk>
Mon, 4 Dec 2006 12:26:58 +0000 (12:26 +0000)
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.

src/keyboard.c

index 384fc888e39fd75fbaa18021448907333db7e733..b79a183dd0f3c3346b12ab3d313322d8d41410eb 100644 (file)
@@ -3784,7 +3784,8 @@ kbd_buffer_store_event_hold (event, hold_quit)
   if (!NILP (Vthrow_on_input)
       && event->kind != FOCUS_IN_EVENT
       && event->kind != HELP_EVENT
-      && event->kind != DEICONIFY_EVENT)
+      && event->kind != DEICONIFY_EVENT
+      && !(event->kind == USER_SIGNAL_EVENT && event->code == 0))
     {
       Vquit_flag = Vthrow_on_input;
       /* If we're inside a function that wants immediate quits,
@@ -5073,13 +5074,7 @@ Lisp_Object *scroll_bar_parts[] = {
 };
 
 /* User signal events.  */
-Lisp_Object Qusr1_signal, Qusr2_signal;
-
-Lisp_Object *lispy_user_signals[] =
-{
-  &Qusr1_signal, &Qusr2_signal
-};
-
+Lisp_Object Qsignal, Qusr1, Qusr2;
 
 /* A vector, indexed by button number, giving the down-going location
    of currently depressed buttons, both scroll bar and non-scroll bar.
@@ -5953,7 +5948,17 @@ make_lispy_event (event)
 
     case USER_SIGNAL_EVENT:
       /* A user signal.  */
-      return *lispy_user_signals[event->code];
+      switch (event->code)
+       {
+       case 0:
+         return Qsignal;
+       case SIGUSR1:
+         return Qusr1;
+       case SIGUSR2:
+         return Qusr2;
+       default:
+         return make_number (event->code);
+       }
 
     case SAVE_SESSION_EVENT:
       return Qsave_session;
@@ -11026,10 +11031,12 @@ syms_of_keyboard ()
   staticpro (&Qmac_apple_event);
 #endif
 
-  Qusr1_signal = intern ("usr1-signal");
-  staticpro (&Qusr1_signal);
-  Qusr2_signal = intern ("usr2-signal");
-  staticpro (&Qusr2_signal);
+  Qsignal = intern ("signal");
+  staticpro (&Qsignal);
+  Qusr1 = intern ("usr1");
+  staticpro (&Qusr1);
+  Qusr2 = intern ("usr2");
+  staticpro (&Qusr2);
 
   Qmenu_enable = intern ("menu-enable");
   staticpro (&Qmenu_enable);