Not exactly what you are asking for but maybe a solution to your original problem:
I'd like to know if there is a general way to keep emacs --daemon from hanging forever waiting for an answer to a prompt displayed in a minibuffer that doesn't exist yet.
If the daemon gives you a graphical frame for answering questions arising in its startup-phase you do ...
Our discussion cleared that you do not have any X-server running this renders my first solution useless for you.
In the following I present a second solution that works with text terminal frames.
When your initialization requires user input through one the functions advised with avoid-initial-terminal Emacs waits until you open a text terminal frame. The ...
In the desktop file I found I had another TeX file in my saved session whose TeX-master file was a.tex. Closing that file solved the issue.
Perhaps auctex or some other TeX-mode was opening a.tex whenever the other file was opened at startup when restoring the saved session?
I found it. Apparently dired can't access icloud directories. My Desktop and Documents folders are sync'ed with icloud.
If anyone comes here curious as to how they can access Desktop, Documents, or Downloads, the answer is in the link above, for reference, but ...
So at the end I used the idea proposed by @lawlist: I just put (remove-hook 'kill-emacs-hook 'pcache-kill-emacs-hook) at the end of my .emacs. I'm not sure what was meant by "keep in mind, that you must unload it after the pcache library loads it" as I'm not that well versed in emacs/lisp. However what I was looking for is achieved even if this solution ...
I think defering the prompts is going to be difficult in general, but it should be fairly easy to change Emacs so that such prompts immediately signal an error.
Not only that, but if you can't answer those prompts without a lot of gymnastics, I think it qualifies as a bug, so I'd recommend you submit a bug report for that.
The variable desktop-restore-eager can control this. This variable controls how many buffers to restore the moment you start emacs. The rest will be restored quietly when Emacs is idle.
So if you set if for some low number, say 10, when you start Emacs it will immediately load 10 of your saved buffers. This will be fast enough to avoid the flickering you ...
C-x C-c will not prompt to ask for saving desktop, it will exit Emacs immediately.
C-xC-c (save-buffers-kill-terminal) does not actually kill the server by default, unless the client invoking it was started with the --no-wait switch and there are no other remaining Emacs frames.
Is there anything I can do to prompt for confirmation when C-x C-c in ...
I found the answer from https://emacs.stackexchange.com/a/30475/794
The version is tweaked version from the answer in the link
(defun ask-before-closing ()
"Prompt for confirmation for emacsclient(not daemon) like confirm-kill-emacs for running Emacs without daemon."
(if (y-or-n-p (format "Really exit Emacs? "))