unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 14797@debbugs.gnu.org
Subject: bug#14797: 24.3.50; new, undocumented menu structure using VECTORS?
Date: Fri, 5 Jul 2013 08:17:57 -0700 (PDT)	[thread overview]
Message-ID: <ac88bffa-6837-4e58-a194-ab19793bc4b1@default> (raw)
In-Reply-To: <jwvli5lthoj.fsf-monnier+emacs@gnu.org>

> > 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.
> 
> 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.)
> 
> 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.
> 
> 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?





  reply	other threads:[~2013-07-05 15:17 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-04 23:54 bug#14797: 24.3.50; new, undocumented menu structure using VECTORS? Drew Adams
2013-07-05 10:42 ` Stefan Monnier
2013-07-05 15:17   ` Drew Adams [this message]
2013-07-05 22:45     ` Stefan Monnier
2013-07-06  1:40       ` Drew Adams
2013-10-19 17:48     ` Drew Adams
2016-08-06 13:09     ` npostavs
2016-08-06 14:42       ` Eli Zaretskii
2016-08-06 15:42         ` Noam Postavsky
2016-08-06 17:36           ` Eli Zaretskii
2016-08-06 19:53             ` npostavs
     [not found]     ` <<87d1lm6o2p.fsf@users.sourceforge.net>
     [not found]       ` <<83k2fuj6vp.fsf@gnu.org>
2016-08-06 16:15         ` Drew Adams
2016-08-06 16:35           ` npostavs
2016-08-06 16:52             ` Drew Adams
2016-08-06 17:40             ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ac88bffa-6837-4e58-a194-ab19793bc4b1@default \
    --to=drew.adams@oracle.com \
    --cc=14797@debbugs.gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).