Subject: bug#14086: 24.3.50; `substitute-command-keys': inappropriate "(that binding is currently shadowed by another mode)"

From: "Drew Adams" <[email-masked]>
Date: Thu, 28 Mar 2013 23:04:25 -0700

I do this for each of the minibuffer completion maps as MAP:
 
 (define-key MAP (kbd "M-r") 'icicle-roundup)
 
I then do this, for example:
 
 (substitute-command-keys "\\{minibuffer-local-completion-map}")
 
I see the keys that are defined in this map, including this one:
 
 M-r             icicle-roundup
 
But near the end of the listing (not at all near that entry), I see this
other entry for `M-r':
 
 M-r             previous-matching-history-element
   (that binding is currently shadowed by another mode)
 
That makes no sense, or is at least misleading.  There is no special
"mode" that I am aware of that is involved here, for one thing.  And I
don't see how the `previous-matching-history-element' binding is
"shadowed", whether by "another mode" or any other way.  `M-r' is simply
bound to `icicle-roundup' in this keymap - it is not bound to
`previous-matching-history-element' in this map, AFAIK.
 
Seems like a bug to me.  At the very least it is unhelpful and
misleading for a user who sees this.  (Not to mention the fact that this
extra info, if you think it serves a purpose, is far from the first
`M-r' entry, so a user will likely see one or the other but not both
together (unless the keymap has few keys in it).
 
I cannot see why we should ever have two different entries listed for the same
key.  And especially one that is so misleadingly described.  And especially with
the two entries far apart.

In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600)
 of 2013-03-23 on VBOX
Bzr revision: 112115 [email-masked]
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.7) --no-opt --enable-checking --cflags
 -IC:/emacs/libs/libXpm-3.5.10/include -IC:/emacs/libs/libXpm-3.5.10/src
 -IC:/emacs/libs/libpng-dev_1.4.3-1_win32/include
 -IC:/emacs/libs/zlib-dev_1.2.5-2_win32/include
 -IC:/emacs/libs/giflib-4.1.4-1-lib/include
 -IC:/emacs/libs/jpeg-6b-4-lib/include
 -IC:/emacs/libs/tiff-3.8.2-1-lib/include
 -IC:/emacs/libs/libxml2-2.7.8-w32-bin/include/libxml2
 -IC:/emacs/libs/gnutls-3.1.10-w32/include
 -IC:/emacs/libs/libiconv-1.14-2-mingw32-dev/include'