Subject: 26.0.50; this-command-keys and interactive input
From: Michael Heerdegen <[email-masked]>
To: [email-masked]
Date: Sat, 24 Jun 2017 07:58:47 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Evaluate this:

(defun test (arg)
  (interactive (list (read-from-minibuffer "Input: ")))
  (message "%S" (cons this-command (this-command-keys)))
  arg)

(global-set-key [f12] #'test)

where f12 stands for some random key sequence.

Hit f12 and give any input.  I get the following message:

(test . "^M")

I would expect (test . f12).

Obviously, `this-command-keys' returns the key confirming the input
instead of the key that has invoked the command.  This contradicts the
descriptions in the documentation (docstring and manual).  The docs only
mention an exception when a command calls `read-key-sequence', but this
is not the case here.  FWIW, I would prefer fixing this over changing
the docs.

Thanks,

Michael.

In GNU Emacs 26.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
 of 2017-06-19 built on drachen
Repository revision: 1b75af59b305867c89271905be72a05d06a4eff4
Windowing system distributor 'The X.Org Foundation', version 11.0.11903000
System Description:	Debian GNU/Linux 9.0 (stretch)