Subject: bug#6616: S-TAB is mismapped in the *Help* buffer

From: Paul Griepentrog <[email-masked]>
Date: Sun, 01 Aug 2010 10:38:01 -0700

On 7/31/10 5:04 PM, Stefan Monnier wrote:
> > and binding [S-tab] to [backtab] in the `ns-alternatives-map' instead?
>
>  Actually, we might want to do that everywhere, rather than only in
>  x-win.el and ns-win.el.

Thinking more about the problem, I think the confusion comes from
a perfect storm of evolution:

   - The [backtab] key does not exist on modern keyboards, but
     several modes define keybindings only for [backtab].  (See
     erc, grep, compile, ses, diff-mode and log-view.)

   - But, X and Windows translate [S-tab] into [backtab], so you
     don't even notice this unless you're working on a platform/
     terminal without this mapping, for example: Mac OS X.

   - Add to that: people treat [backtab] as logically the same as
     [S-tab], even though they are different key presses when you
     have a [backtab] key.

As a developer, I would be confused.  I need to map both for my
mode to be consistent across terminals/platforms.  Several modes
do this exactly.  (See forms, info, widget, org, and mh.)

I say, pick a solution and make it consistent across the modes
shipped with Emacs.  IMHO, [S-tab] is the 'correct' binding,
since we press those actual keys.  Update all the modes using
[backtab] to use [S-tab].  Now, anybody who has a [backtab] key
can actually use it, and the rest continue with [S-tab], like
they always did.  For compatibility with external modes, we could
map [backtab] to [S-tab].

I can offer a patch to this effect.