Even among the C-LETTER and M-LETTER keys, there are quite a few
whose meaning have changed during the last 40 years. I know at least
of: C-h, C-l, M-g, M-j, M-n, M-o, M-p, M-r and M-s. That's 9 keys
out of 52.
Please describe those changes one by one. At least for some of these
keys I'm unaware of any changes in their bindings, so I'm curious what
exactly is considered a "change" in this context.
C-c: was initially exit-recursive-edit, and was changed to a prefix key
for modes in Emacs 16; exit-recursive-edit was then moved to C-M-c
C-h: was initially (and in other Emacsen) the same as C-b, and was
(very early in the development of GNU Emacs) changed into the help
character
C-l: was 'recenter' up to and including Emacs 22, then became
'recenter-top-bottom', which changes its semantics when is repeated
C-z: was initially (and in other Emacsen) a prefix character, was at
some point bound exit-recursive-edit, then became (in GNU Emacs 1.11)
bound to suspend-emacs
M-g: was initially bound to fill-region, was used for facemenu in Emacs
19-21, and is used for goto-like commands since Emacs 22
M-j: was initially unused, became indent-new-comment-line in Emacs 1.7
M-n and M-p: were initially unused, became what they are now in Emacs
17
M-o: was unused before Emacs 22, was used for facemenu in Emacs 22-27
M-r: was initially unused, became 'move-to-window-line' in Emacs 16,
then became 'move-to-window-line-top-bottom', which changed its
semantics when it is repeated
M-s: was initially unused, became center-line for text-modes in Emacs
16, and is used for search-like commands since Emacs 23