Subject: bug#37097: 27.0.50; Opening a "large file" with `emacsclient -c' does not create a frame

From: Eli Zaretskii <[email-masked]>
Date: Tue, 20 Aug 2019 17:44:33 +0300

> From: adam plaice <[email-masked]>
> Date: Tue, 20 Aug 2019 12:30:40 +0200
> 
> 1. Create a large enough file:
> 
> dd if=/dev/zero of=foobar bs=1024 count=10000
> 
> 2. Start emacs daemon (with a custom socket to avoid colliding with an
>    existing daemon):
> 
> emacs -Q --daemon=unmodified
> 
> 3. Open the large file with emacsclient:
> 
> emacsclient -c --socket-name=unmodified foobar
> 
> (In all:
> 
> dd if=/dev/zero of=foobar bs=1024 count=10000
> emacs -Q --daemon=unmodified
> emacsclient -c --socket-name=unmodified foobar
> 
> )
> 
> * Expected result:
> 
> 2. An emacs daemon is started.
> 
> 3. A new frame is created with a dialog asking something like:
> 
> file foobar is large (nnn), really open? (y)es or (n)o or (l)iterally
> 
> * Actual result:
> 
> 2. An emacs daemon is started.
> 
> 3. No frame is created; the terminal just displays the usual
>    "emacsclient message" (Waiting for Emacs...) and does nothing. The
>    emacsclient can be normally killed with C-c (without killing the
>    daemon).

This works in Emacs 26, so I'm guessing this is another consequence of
fixing bug#24218, where we now create the frame only after visiting
the file.  So when we ask the question, we have no usable frame to ask
it in.