Subject: bug#12834: 24.3.50; OS X selecting a font can lock Emacs

From: Ivan Andrus <[email-masked]>
Date: Tue, 13 Nov 2012 19:40:02 +0100

On Nov 13, 2012, at 4:19 PM, Jan Djärv <[email-masked]> wrote:

> Hello. 
> Please keep the debbugs Cc.

Sorry.  I always forget.  I really wish it was the default reply-to.

> Which version did you build? Are you sure you built the emacs-24 branch, not trunk?

To be honest I'm not entirely sure how to figure that out.  Every time I think I understand bzr it doesn't do what I think.  Anyway, updating on the branch I get

$ bzr pull
Using saved parent location: bzr://bzr.savannah.gnu.org/emacs/emacs-24/                                                                                                             
No revisions or tags to pull.                                                                                                                                                       

In src/nsterm.m I see

   303  static void
   304  hold_event (struct input_event *event)
   305  {
   306    if (hold_event_q.nr == hold_event_q.cap)
   307      {
   308        if (hold_event_q.cap == 0) hold_event_q.cap = 10;
   309        else hold_event_q.cap *= 2;
   310        hold_event_q.q = (struct input_event *)
   311          xrealloc (hold_event_q.q, hold_event_q.cap * sizeof (*hold_event_q.q));
   312      }
   313  
   314    hold_event_q.q[hold_event_q.nr++] = *event;
   315    /* Make sure ns_read_socket is called, i.e. we have input.  */
   316    kill (0, SIGIO);
   317  }

which I think is the required change.  I still see the problem.  When I run under gdb I am unable to interrupt the process with Ctrl-C once it has stopped responding.  I'm afraid I'm not sure how to help debug it otherwise.  Sending SIGIO manually doesn't cause it to become responsive.

-Ivan