GNU bug report logs - #23129
25.1.50; Prefix key is not echoed during minibuffer completion

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Sun, 27 Mar 2016 22:35:01 UTC

Severity: minor

Tags: wontfix

Found in version 25.1.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 23129 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Drew Adams <drew.adams <at> oracle.com>,
    Richard Stallman <rms <at> gnu.org>
Cc: 23129 <at> debbugs.gnu.org
Subject: Re: bug#23129: 25.1.50;
 Prefix key is not echoed during minibuffer completion
Date: Mon, 28 Mar 2016 18:21:26 +0300
> Date: Sun, 27 Mar 2016 15:34:02 -0700 (PDT)
> From: Drew Adams <drew.adams <at> oracle.com>
> 
> 0. emacs -Q
> 
> 1. 
> (defvar bar-map nil)
> (define-prefix-command 'bar-map)
> (define-key minibuffer-local-must-match-map "\M-i" 'bar-map)
> (define-key bar-map "\M-z" 'foo)
> (defun foo () (interactive) (message "FOOOOOOOOOOO") (sleep-for 2))
> 
> `M-x M-i'
> Wait a second.  The prefix key `M-i' is NOT echoed.
> `M-z'
> The message from `foo' is shown.
> 
> 2. 
> (global-set-key "\M-l" 'bar-map)
> 
> `M-l'
> Wait a second.  The prefix key `M-l' IS echoed.
> `M-z'
> The message from `foo' is shown.

Is it really necessary to use this complex setup?  Does the following
simple recipe exhibit the same behavior?  (If not, please tell why
not.)

  emacs -Q
  C-x C-f C-x

"C-x C-f" causes the prompt showing the current directory; typing
"C-x" afterwards has no visible effect, whereas you expect it to echo
the usual "C-x-".  Right?

> BUG: The prefix key `M-i' should be echoed during completion.

How do you mean "should"?  AFAICT, this is a deliberate feature: we
only echo the prefix keys when there's nothing in the minibuffer (more
accurately, when the minibuffer level of recursion is zero).  I guess
this is so to avoid confusing prompts or something (Richard, can you
comment on this?), but in any case this is how Emacs worked since
forever.




This bug report was last modified 3 years and 171 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.