]> code.delx.au - gnu-emacs/commitdiff
Add handle_user_signal_hook
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Thu, 31 Dec 2015 02:17:35 +0000 (11:17 +0900)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Thu, 31 Dec 2015 02:17:35 +0000 (11:17 +0900)
* src/keyboard.h (handle_user_signal_hook): New declaration.
* src/keyboard.c (handle_user_signal_hook): New variable.
(handle_user_signal): Call it.

src/keyboard.c
src/keyboard.h

index 9ebd86b53560dfb367e4ea21657478e07a461909..b0fe328dbd6971bd6a736f4c44465ff4a52866eb 100644 (file)
@@ -7124,6 +7124,9 @@ struct user_signal_info
 /* List of user signals.  */
 static struct user_signal_info *user_signals = NULL;
 
+/* Function called when handling user signals.  */
+void (*handle_user_signal_hook) (int);
+
 void
 add_user_signal (int sig, const char *name)
 {
@@ -7172,6 +7175,8 @@ handle_user_signal (int sig)
           }
 
        p->npending++;
+       if (handle_user_signal_hook)
+         (*handle_user_signal_hook) (sig);
 #ifdef USABLE_SIGIO
        if (interrupt_input)
          handle_input_available_signal (sig);
index 890d24eb2d9691c4970644522c566eb7f081f112..4558bd614149e04615289ef9447058404c063a6d 100644 (file)
@@ -415,6 +415,8 @@ extern void unuse_menu_items (void);
 #define EVENT_HEAD_KIND(event_head) \
   (Fget ((event_head), Qevent_kind))
 
+extern void (*handle_user_signal_hook) (int);
+
 /* True while doing kbd input.  */
 extern bool waiting_for_input;