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

From: Jan Djärv <[email-masked]>
Date: Wed, 14 Nov 2012 07:08:17 +0100

Hello.

13 nov 2012 kl. 19:40 skrev Ivan Andrus <[email-masked]>:

> 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.
> 

That is the fix.  Sending SIGIO manually is pointless.  I can not reproduce the error anymore, so make sure you did make install, and give the exact steps you did to encounter the bug, starting from -Q.

Thanks,

	Jan D.