Subject: bug#10669: More debugging

From: Michael Welsh Duggan <[email-masked]>
Date: Fri, 14 Aug 2020 10:32:36 -0400

Stefan Kangas <[email-masked]> writes:

> Michael Welsh Duggan <[email-masked]> writes:
>
>> Michael Welsh Duggan <[email-masked]> writes:
>>
>>> Okay.  Here's what the infinite loop actually is:
>>>
>>> The C function 'command_loop' calls 'top_level_1', which eventually
>>> evals 'top-level', which is 'normal-top-level'.  'normal-top-level'
>>> notes that 'command-line-processed' is t, calls (message "Back to top
>>> level."), and then returns.
>>>
>>> Back to 'command_loop, which then calls 'command_loop_2', which calls
>>> command_loop_1', which calls 'read_key_sequence', which calls
>>> 'read_char'.
>>>
>>> 'read_char' eventually calls 'kbd_buffer_get_event' at keyboard.c:2797.
>>> This ends up calling getchar(), since we are running as a daemon
>>> (keyboard.c:3796).  This getchar() returns -1.  'read_char' returns this
>>> -1.
>>
>> So, at this point, daemon_pipe[] == {3, 4}.  It looks to me that
>> 'daemon-initialized' isn't being called by 'command-line'.  This may be
>> due to the --eval "(server-start)"?  I think I may need some help
>> debugging further than this.
>
> That was 8 years ago.  Is this still an issue using modern versions of
> Emacs?

I think you can close this.  If I encounter it again, I will just create
a new bug.

-- 
Michael Welsh Duggan
([email-masked])