Subject: bug#11080: 24.0.94; Assertion failure in signal handler

From: Andreas Schwab <[email-masked]>
Date: Sat, 24 Mar 2012 09:39:46 +0100

Johan Bockgård <[email-masked]> writes:

> emacs -Q
>
> ;; "foo" is any non-existing or non-xbm file.
> ;; Eval:
> (face-remap-add-relative 'default '(:stipple "foo"))
>
> C-h k x
>
> Move the mouse pointer over one of the links in the lower window.
>
>    =>
>
> eval.c:3403: Emacs fatal error: assertion failed: !handling_signal

I think handling_signal should only be incremented in XTread_socket if
!SYNC_INPUT.  With SYNC_INPUT (which is the default) the SIGIO handler
doesn't actually call read_avail_input.

That won't fix the bug when !SYNC_INPUT, but I think that option should
be removed.  Furthermore, handling_signal is also incremented in
handle_async_input for HAVE_NS, but I think this should be
conditionalized by !SYNC_INPUT as well.

Andreas.

-- 
Andreas Schwab, [email-masked]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."