GNU bug report logs - #24236
25.1.50; `substitute-command-keys', \{...}: optionally show menu items

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: Drew Adams <drew.adams@HIDDEN>; dated Mon, 15 Aug 2016 17:16:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 15 Aug 2016 17:15:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 15 13:15:47 2016
Received: from localhost ([127.0.0.1]:58506 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1bZLUJ-0001CM-MJ
	for submit <at> debbugs.gnu.org; Mon, 15 Aug 2016 13:15:47 -0400
Received: from eggs.gnu.org ([208.118.235.92]:52107)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <drew.adams@HIDDEN>) id 1bZLUI-0001CA-7I
 for submit <at> debbugs.gnu.org; Mon, 15 Aug 2016 13:15:46 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <drew.adams@HIDDEN>) id 1bZLUC-0007if-31
 for submit <at> debbugs.gnu.org; Mon, 15 Aug 2016 13:15:41 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: **
X-Spam-Status: No, score=2.8 required=5.0 tests=BAYES_50,XPRIO
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:35485)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <drew.adams@HIDDEN>) id 1bZLUB-0007iU-Vu
 for submit <at> debbugs.gnu.org; Mon, 15 Aug 2016 13:15:40 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:43067)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <drew.adams@HIDDEN>) id 1bZLU9-00019A-Nu
 for bug-gnu-emacs@HIDDEN; Mon, 15 Aug 2016 13:15:38 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <drew.adams@HIDDEN>) id 1bZLU5-0007hl-Hy
 for bug-gnu-emacs@HIDDEN; Mon, 15 Aug 2016 13:15:37 -0400
Received: from aserp1040.oracle.com ([141.146.126.69]:28607)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <drew.adams@HIDDEN>) id 1bZLU5-0007hh-6u
 for bug-gnu-emacs@HIDDEN; Mon, 15 Aug 2016 13:15:33 -0400
Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234])
 by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id
 u7FHFWm3000997
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK)
 for <bug-gnu-emacs@HIDDEN>; Mon, 15 Aug 2016 17:15:32 GMT
Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235])
 by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id u7FHFWVS025118
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
 for <bug-gnu-emacs@HIDDEN>; Mon, 15 Aug 2016 17:15:32 GMT
Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8])
 by aserv0121.oracle.com (8.13.8/8.13.8) with ESMTP id u7FHFVJh018823
 for <bug-gnu-emacs@HIDDEN>; Mon, 15 Aug 2016 17:15:31 GMT
MIME-Version: 1.0
Message-ID: <f81a89db-38d8-4ce5-8c26-4b3f8c87c191@default>
Date: Mon, 15 Aug 2016 10:15:29 -0700 (PDT)
From: Drew Adams <drew.adams@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 25.1.50; `substitute-command-keys', \{...}: optionally show menu items
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9  (901082) [OL
 12.0.6753.5000 (x86)]
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Source-IP: aserv0022.oracle.com [141.146.126.234]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -2.0 (--)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)

Enhancement request.

Add an optional arg to `substitute-command-keys'.  When present
(non-nil) it would cause \{...} to include menu items.

IOW, when `substitute-command-keys' makes use of `describe-bindings' (or
equivalent), if the optional arg is non-nil then it would use
`describe-buffer-bindings', in effect, passing it a non-nil MENUS
argument.

This gives callers of `substitute-command-keys' the possibility of
including menu items in a listing of keymap bindings.

In particular, it lets them show keys that are conditionally bound to
commands in a given map - bindings that are defined using `menu-item'
with a :filter - keys, such as this:

(define-key some-map (kbd "some-keys")
  '(menu-item "" nil
    :filter (lambda (&rest _)
              (and (some-condition) #'some-command))))

Such conditional bindings are typically made for keyboard keys.  But the
fact that they make use of an Emacs-Lisp idiom that defines them using
`menu-item' means that `substitute-command-keys' always filters them
out.  It should be possible to prevent filtering them out.

(If things like `substitute-command-keys', `describe-bindings', and
`describe-buffer-bindings' were defined in Lisp and not C, Lisp users
could themselves take care of such a request.  Please consider moving
such things to Lisp, unless there is a real reason they need to be in C.
I don't imagine that performance is a real reason in this case,
nowadays.)

In GNU Emacs 25.1.50.1 (i686-pc-mingw32)
 of 2015-12-10
Repository revision: 6148555ee5a3d0139ae517803718b3e0357933c7
Windowing system distributor 'Microsoft Corp.', version 6.1.7601
Configured using:
 'configure --prefix=3D/c/Devel/emacs/snapshot/trunk --enable-checking=3Dye=
s
 --enable-check-lisp-object-type --without-compress-install 'CFLAGS=3D-Og
 -ggdb3' LDFLAGS=3D-Lc:/Devel/emacs/lib 'CPPFLAGS=3D-DGC_MCHECK=3D1
 -Ic:/Devel/emacs/include''




Acknowledgement sent to Drew Adams <drew.adams@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#24236; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

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