Subject: bug#7591: 24.0.50; incorrect `make-obsolete' for `mouse-major-mode-menu'

From: "Drew Adams" <[email-masked]>
Date: Fri, 10 Dec 2010 08:46:09 -0800

> > (make-obsolete 'mouse-major-mode-menu 
> >                'mouse-menu-major-mode-map "23.1")
> >
> > That is incorrect.  `mouse-major-mode-menu' is a
> > _command_ (and can thus be bound to a key).
> > `mouse-menu-major-mode-map' is not a command.
> 
> The argument to make-obsolete is not intended to say "foobar is
> a drop-in-replacement for barbaz", just that "barbaz has been found
> undesirable, its successor is foobar".  Often one needs to 
> adjust things if one wants to switch to the new non-obsolete
> alternative.

Even if that is the case it is not helpful here.  The best command to use for
this is the _only_ command that exists (so far): `mouse-major-mode-menu'.

Consider this user's request:
http://lists.gnu.org/archive/html/help-gnu-emacs/2010-12/msg02016.html
My suggestion to him was this:

>> If you don't care about modes that might bind `C-mouse-3'
>> specially, then just remap its command:
>>
>> (define-key global-map [remap mouse-save-then-kill]
>>             'mouse-major-mode-menu)

Unless there is a _command_ that does what `mouse-major-mode-menu' does, you
cannot do something like that.  Or you need to roll your own command.

Emacs should offer a command for this, as it has in the past.  What is wrong
with the existing `mouse-major-mode-menu' that it should be removed?  If you
have in mind a better definition, then please add it.  But Emacs should have a
command for this, whatever the name and whatever the exact definition.