Subject: 25.0.92; sluggish M-x

From: Leo Liu <[email-masked]>
Date: Sun, 13 Mar 2016 12:01:56 +0800

1. start a NEW GUI Emacs with `emacs -q' and go to the *Scratch* buffer
2. M-x emacs-lisp-mode RET

The cursor stays in the minibuffer (see the screenshot; long enough for
me to take a screenshot) for a few seconds before the message "You can
run the command ‘emacs-lisp-mode’ with M-x e-li-mo RET".

If you repeat `M-x emacs-lisp-mode RET' the delay is gone but it will
come back at some point.

This bug makes M-x very sluggish and annoying to use. I have experienced
it since switching to 25.0.x but didn't find a simple way to reproduce
it until just now.

It surfaced because of this commit:

  d94bc77ec77dea298063f182cc8a6548b6ccce81 is the first bad commit
  commit d94bc77ec77dea298063f182cc8a6548b6ccce81
  Author: Stefan Monnier
  Date:   Mon Nov 3 17:27:26 2014 -0500
  
    * lisp/simple.el (execute-extended-command--last-typed): New var.
  (read-extended-command): Set it.
  Don't complete obsolete commands.
  (execute-extended-command--shorter-1)
  (execute-extended-command--shorter): New functions.
  (execute-extended-command): Use them to suggest shorter names.
  (indicate-copied-region, deactivate-mark): Use region-active-p.
  
  :040000 040000 de3e26b5d09fab83741601a4e7207ff0d12aea00 a1a28e7b2b13fe63d4f9442dd54a321f287548fc M	etc
  :040000 040000 6db42693d65c3b986164cab0545862e24303d346 00945565cec8df9a4cf92806e3485b67c1143f8e M	lisp