Subject: bug#5535: bug#10669: More debugging

From: Stefan Kangas <[email-masked]>
Date: Fri, 7 Aug 2020 03:52:13 -0700

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?

Best regards,
Stefan Kangas