From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#14797: 24.3.50; new, undocumented menu structure using VECTORS? Date: Fri, 5 Jul 2013 08:17:57 -0700 (PDT) Message-ID: References: <6b4ca396-4d2b-4719-8b1e-1ef9eb6f5610@default> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1373037549 17111 80.91.229.3 (5 Jul 2013 15:19:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 5 Jul 2013 15:19:09 +0000 (UTC) Cc: 14797@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jul 05 17:19:09 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Uv7mu-0005nF-HP for geb-bug-gnu-emacs@m.gmane.org; Fri, 05 Jul 2013 17:19:08 +0200 Original-Received: from localhost ([::1]:44667 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uv7mu-0007cb-4b for geb-bug-gnu-emacs@m.gmane.org; Fri, 05 Jul 2013 11:19:08 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uv7mp-0007cH-WA for bug-gnu-emacs@gnu.org; Fri, 05 Jul 2013 11:19:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Uv7mo-0003XM-Ex for bug-gnu-emacs@gnu.org; Fri, 05 Jul 2013 11:19:03 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37775) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uv7mo-0003Wv-BJ for bug-gnu-emacs@gnu.org; Fri, 05 Jul 2013 11:19:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Uv7mn-0000L3-VB for bug-gnu-emacs@gnu.org; Fri, 05 Jul 2013 11:19:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 05 Jul 2013 15:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 14797-submit@debbugs.gnu.org id=B14797.13730374921113 (code B ref 14797); Fri, 05 Jul 2013 15:19:01 +0000 Original-Received: (at 14797) by debbugs.gnu.org; 5 Jul 2013 15:18:12 +0000 Original-Received: from localhost ([127.0.0.1]:60324 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uv7lz-0000Hs-T9 for submit@debbugs.gnu.org; Fri, 05 Jul 2013 11:18:12 -0400 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:41246) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uv7lx-0000HM-Gp for 14797@debbugs.gnu.org; Fri, 05 Jul 2013 11:18:10 -0400 Original-Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by aserp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id r65FI1aM025629 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 5 Jul 2013 15:18:01 GMT Original-Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r65FHxE0006652 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 5 Jul 2013 15:18:00 GMT Original-Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56]) by userz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r65FHx5Q020923; Fri, 5 Jul 2013 15:17:59 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.7 (607090) [OL 12.0.6668.5000 (x86)] X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:75950 Archived-At: > > I don't see anything in the manual that mentions that a menu can take > > this form. Dunno whether I am not reading it well enough or the doc is > > incomplete. >=20 > Indeed, vectors are an old format that is deprecated but > still supported. They are similar to char-tables (which are supported, > on the other hand). Really? In what Emacs version was that old format documented? I do not see it, going back to Emacs 20, and I do not remember ever seeing it before that. And why would we suddently make a code change in Emacs 24.4 to revert back to using a deprecated menu structure? And without adding any comment in the code as to (a) the fact that we deliberately use a deprecated and undocumented structure here and (b) why we do so. What was gained by this? Note too that deprecation of a feature (which as you note generally does not imply its desupport) generally does not mean removing all doc for it. As long as something is supported it is typically documented - at least reference doc. Support implies doc, generally. This "old format" has not been documented since at least Emacs 20. If the Emacs code is going to start using it again then it should be documented. > > (I do not understand how someone can make such a fundamental change and > > not mention it in NEWS. New menu structures are not something that > > Emacs adds everyday.) >=20 > That's because it's a new menu structure, on the contrary. Is there a "not" missing there, perhaps? If not, I do not follow you. AFAICT, it IS a new menu structure, at least in terms of documentation. Where was it documented for users before, if in fact it was really a supported menu structure? > > 2. Beyond that, using vectors here is a PITA for Lisp code. It makes > > code that traverses such code difficult, if not impossible. Without > > this change to vectors, a simple recursion on a list cdr is all that is > > needed. >=20 > You should probably use `map-keymap' instead. Yes, eventually I will perhaps do that. My code was originally based on similar code in `substitute-key-definition', whose code evolved to use `map-keymap' when that function was introduced. But that is really beside the point here. Why introduce an undocumented, at best deprecated, menu structure in Emacs 24.4? Was something useful gained wrt the list structure that was used before? Why move TOWARD something that has (at best) been deprecated for >15 years and is less lispy?