Subject: Re: bug#38560: 27.0.50; Emacs ignores input events during startup

From: Eli Zaretskii <[email-masked]>
Date: Tue, 10 Dec 2019 18:05:31 +0200

> From: Dmitry Gutov <[email-masked]>
> Date: Tue, 10 Dec 2019 16:14:19 +0200
> 
> > I have a configuration that takes 1-2 seconds to boot up.
> > 
> > In previous versions (including the latest Emacs 26) it was rarely a
> > problem because I could always start typing while the configuration
> > finishes loading (e.g. C-x C-f first-chars-of-file-name).
> > 
> > Emacs 27, however, ignores most of the keystrokes, so when I do that, by
> > habit, I simply end up in the Scratch buffer with some of the last
> > characters. E.g. "ile-name" in this example.

There was some recent change related to discard-input, no?  Here:

  commit 54c792ece6c20297571aa68c613075c8a8152bcc
  Author:     Juri Linkov <[email-masked]>
  AuthorDate: Sat Nov 30 23:33:41 2019 +0200
  Commit:     Juri Linkov <[email-masked]>
  CommitDate: Sat Nov 30 23:33:41 2019 +0200

      * lisp/subr.el: Add discard-input to more functions.

      * lisp/subr.el (read-char-from-minibuffer-insert-other)
      (y-or-n-p-insert-other): Use discard-input in case of user mistake.
      (do-after-load-evaluation): Add discard-input before calling 'message',
      so in case of the active minibuffer, calling minibuffer-message will allow
      sit-for to wait the complete timeout, because discard-input will discard
      all initial events that prevent sit-for from waiting during startup.
      https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg00581.html

Or maybe this one:

  commit 4e4e5508582b1b5a2e738f4490400f2d78a5f343
  Author:     Juri Linkov <[email-masked]>
  AuthorDate: Sun Nov 17 23:51:55 2019 +0200
  Commit:     Juri Linkov <[email-masked]>
  CommitDate: Sun Nov 17 23:51:55 2019 +0200

      * lisp/subr.el (read-char-from-minibuffer, y-or-n-p): Remove discard-input.

      (do-after-load-evaluation): Replace run-with-timer with run-with-idle-timer
      to give a chance for the minibuffer to handle initial events before sit-for.
      https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg00581.html

If these aren't the cause, can you bisect?