Gracjan Polak | 22 May 2012 23:42
Picon

S-tab incorrety translated to C-y


Hi all,

local-function-key-map contains this erraneus entry:

 (S-tab .
        [25])

local-function-key-map also contains this correct entry:

 (S-tab .
        [backtab])

Sadly the first one takes precendence.

Effect: S-tab is translated into C-y and calls 'yank'.

Something somewhere adds a bad entry to local-function-key-map. How to find this
bug?

This line in .emacs works around issue:

(define-key local-function-key-map (kbd "<S-tab>") (kbd "<backtab>"))

--

-- 
Gracjan

_____________________________________________________________
(Continue reading)

David Reitter | 23 May 2012 00:11
Picon
Gravatar

Re: S-tab incorrety translated to C-y

On May 22, 2012, at 5:42 PM, Gracjan Polak wrote:

> local-function-key-map contains this erraneus entry:
> 
> (S-tab .
>        [25])
>  

> Effect: S-tab is translated into C-y and calls 'yank'.
> 
> Something somewhere adds a bad entry to local-function-key-map. How to find this
> bug?

I suspected it would be in lisp/term and just used "grep" to find this in ns-win.el:

> ;; These tell read-char how to convert these special chars to ASCII.
> (put 'S-tab 'ascii-character (logior 16 ?\t))
> 
> (defvar ns-alternatives-map
>   (let ((map (make-sparse-keymap)))
>     ;; Map certain keypad keys into ASCII characters
>     ;; that people usually expect.
>     (define-key map [S-tab] [25])
>     (define-key map [M-backspace] [?\M-\d])
>     (define-key map [M-delete] [?\M-\d])
>     (define-key map [M-tab] [?\M-\t])
>     (define-key map [M-linefeed] [?\M-\n])
>     (define-key map [M-clear] [?\M-\C-l])
>     (define-key map [M-return] [?\M-\C-m])
>     (define-key map [M-escape] [?\M-\e])
(Continue reading)


Gmane