[Top][All Lists]
[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