emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-24 r110901: * nsterm.m (hold_event):


From: Jan D.
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-24 r110901: * nsterm.m (hold_event): Set send_appdefined to YES.
Date: Sat, 17 Nov 2012 16:28:56 +0100
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110901
fixes bug: http://debbugs.gnu.org/12834
committer: Jan D. <address@hidden>
branch nick: emacs-24
timestamp: Sat 2012-11-17 16:28:56 +0100
message:
  * nsterm.m (hold_event): Set send_appdefined to YES.
  (ns_select): Return at once if events are held (Bug#12834).
modified:
  src/ChangeLog
  src/nsterm.m
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-11-16 18:41:00 +0000
+++ b/src/ChangeLog     2012-11-17 15:28:56 +0000
@@ -1,3 +1,8 @@
+2012-11-17  Jan Djärv  <address@hidden>
+
+       * nsterm.m (hold_event): Set send_appdefined to YES (Bug#12834).
+       (ns_select): Return at once if events are held (Bug#12834).
+
 2012-11-16  enami tsugutomo  <address@hidden>
 
        * unexelf.c (ELFSIZE) [__NetBSD__ && _LP64]: Set to 64.

=== modified file 'src/nsterm.m'
--- a/src/nsterm.m      2012-11-13 07:56:15 +0000
+++ b/src/nsterm.m      2012-11-17 15:28:56 +0000
@@ -314,6 +314,7 @@
   hold_event_q.q[hold_event_q.nr++] = *event;
   /* Make sure ns_read_socket is called, i.e. we have input.  */
   kill (0, SIGIO);
+  send_appdefined = YES;
 }
 
 static Lisp_Object
@@ -3445,6 +3446,14 @@
 
 /*  NSTRACE (ns_select); */
 
+  if (hold_event_q.nr > 0) 
+    {
+      /* We already have events pending. */
+      kill (0, SIGIO);
+      errno = EINTR;
+      return -1;
+    }
+
   for (k = 0; k < nfds+1; k++)
     {
       if (readfds && FD_ISSET(k, readfds)) ++nr;


reply via email to

[Prev in Thread] Current Thread [Next in Thread]