emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proposal: merge [S-tab] and [backtab]


From: Leo
Subject: Re: Proposal: merge [S-tab] and [backtab]
Date: Mon, 02 Aug 2010 18:42:00 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (Mac OS X 10.6.4)

On 2010-08-02 05:22 +0100, Paul Griepentrog wrote:
>  Just a tidbit of computer evolution: the [backtab] key does not
> exist on modern keyboards.  Of course, Emacs uses this key in
> several modes (grep, compile, erc, ...).  So, in the place of
> [backtab] within Emacs, [S-tab] is the conventional binding for a
> poor man's backtab.  For convenience, some terminals (X,
> Windows, and recently: NextStep) translate the keypress of
> [S-tab] into [backtab] and nobody is the wizer.
>
> Unless... you want to bind [S-tab] in a mode.  Then you find out
> [S-tab] is NOT the key sequence you thought it was.  The binding
> worked on X and Windows, but not at the terminal (or another
> platform which did not link [S-tab] to [backtab]).  What
> happened?!  Well, so you bind [backtab] as well.
>
> My proposal is to universally translate [S-tab] and [S-iso-tab]
> into [backtab] across all terminals.  At least then you can bind
> [backtab] and know it will work across platforms and terminals.
> Included in this proposal is removing obsolete bindings to
> [S-tab] and [S-iso-tab] for modes within Emacs and updating the
> documentation.  I include [S-iso-tab] since it is yet another
> abused synonym for [backtab].
>
> Note: this change will NOT ADD or REMOVE any bindings.  It is to
> unify the keypresses of [S-tab], [S-iso-tab] to [backtab] where
> they already exist.
>
> I don't pretend to know the history of the keybindings or
> specific terminals, but a uniform view of [S-tab] vs [backtab]
> makes sense to me.
>
> Thoughts?

For example, eshell-cmpl-initialize has:

  ;; jww (1999-10-19): Will this work on anything but X?
  (if (featurep 'xemacs)
      (define-key eshell-mode-map [iso-left-tab] 'pcomplete-reverse)
    (define-key eshell-mode-map [(shift iso-lefttab)] 'pcomplete-reverse)
    (define-key eshell-mode-map [(shift control ?i)] 'pcomplete-reverse))

And yet it still fails on some systems.

Leo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]