Subject: Re: bug#30182: Update

From: martin rudalics <[email-masked]>
Date: Sat, 03 Feb 2018 10:04:35 +0100

> This is reproducible from
 >
 >      emacs -Q -L .../w3m -l w3m -f w3m
 >
 > where .../w3m is a checkout of https://github.com/ecbrown/emacs-w3m.

Thanks for the work.

 > #75 0x000000000059a88c in handle_async_input () at ../../src/keyboard.c:7129
 > #76 0x000000000059a8ab in process_pending_signals () at ../../src/keyboard.c:7143
 > #77 0x0000000000644d8f in maybe_quit () at ../../src/eval.c:1545

So at least this part of my earlier conjecture

 > which, if count is zero, calls maybe_quit which according to
 >
 >    if (!NILP (Vquit_flag) && NILP (Vinhibit_quit))
 >      process_quit_flag ();
 >    else if (pending_signals)
 >      process_pending_signals ();
 >
 > may call process_pending_signals

wasn't entirely misguided and if I had understood the implications of
process_pending_signals, I probably would have been able to identify
the problem too.  So my hint was at the atimer part.  Bad luck.

In either case, an average Lisp programmer will be completely lost
when trying to understand process_pending_signals and gobble_input and
their possible implications.  But maybe it is undocumentable.

martin