Subject: Re: bug#631: the M- notation suggestion

From: "Lennart Borgman (gmail)" <[email-masked]>
Date: Fri, 01 Aug 2008 10:37:17 +0200

Yavor Doganov wrote:
> Lennart Borgman (gmail) wrote:
>> I think both the menus and the help command should reflect the
>> actual keyboard labeling (for a standard keyboard on the used OS).
> 
> IMHO this is close to impossible, since GNU/Linux runs on a variety
> (at least 10) architectures, including archaic and modern machines
> that have vastly different keyboards.  So there are many "standard
> keyboards" for the OS GNU/Linux, also for the various free variants of
> BSD.

I am not suggesting that this should work for every keyboard, but it 
could work for the most common. In the other cases we could just stick 
to the current notation in help and menus.

> "M-" existed since about forever; wiping it out will do more harm than
> good.  If a new Emacs user has problems understanding it and finding
> the right key on her keyboard, she surely will have much more problems
> with other Emacs features, let alone more complicated concepts and
> advanced usage.

Why? I remember myself searching for the <copy> key for example.

> Also, you should not consider only the Emacs manual.  Think of the
> tens or hundreds of manuals of add-on packages, non-Emacs packages
> (like Texinfo), and knowledge base like the mailing lists or sites
> like the Emacs Wiki.  Changing something as fundamental as this for no
> apparent benefit is a bad idea.  IMHO.

I do not think it is realistic or useful to change the manuals. It is 
static. I also do not think the notation for adding key binding can be 
changed. However the dynamic bits in menus and help can perhaps be 
changed without a very big effort. That change can be useful for newcomers.

I think this could be handled by just changing some central code in 
Emacs, but I am not sure. Here is a list of what I think must be handled:

    Implement M- => Alt-

    - Change push_key_description
    - Increase #define KEY_DESCRIPTION_SIZE ((2 * 6) + 1 + 
(CHARACTERBITS / 3) + 1 + 1)
    - Add option for whether to do M- => Alt-
    - Add keyboard values
    - Add OS dependent default values for "Alt"
    - Change the macro that reads those key sequences and converts them 
to vector format

I might be missing a lot of things so please add to this list if you are 
interested.