Eric Hanchrow wrote:
> I started emacs with "emacs -Q". Then I typed
>
> M-x o r g - m o d e <return> M-x f l y s p e l l -
> m o d e <return> C-h c <M-tab> C-h c M-TAB
>
> C-h c <M-tab> showed me "<M-tab> runs the command pcomplete".
> C-h c M-TAB (which I typed via Ctrl+Alt+i) showed me "M-TAB runs the
> command flyspell-auto-correct-word".
>
> I expected _both_ key events -- <M-tab> and M-TAB -- to show me
> flyspell-auto-correct-word.
This occurs because org.el for some reason tries to define the M-TAB key
3 different ways:
(org-defkey org-mode-map [(meta tab)] 'pcomplete)
(org-defkey org-mode-map "\M-\t" 'pcomplete)
(org-defkey org-mode-map "\M-\C-i" 'pcomplete)
Removing all but the second definition would fix this.
Ref "Named ASCII Control Characters" in the lispref.
If you do not want to distinguish between (for example) <TAB> and
`C-i', make just one binding, for the ASCII character <TAB> (octal
code 011). If you do want to distinguish, make one binding for this
ASCII character, and another for the "function key" `tab'.
Hi Glenn,
Glenn Morris <rgm@gnu.org> writes:
> Eric Hanchrow wrote:
>
>> I started emacs with "emacs -Q". Then I typed
>>
>> M-x o r g - m o d e <return> M-x f l y s p e l l -
>> m o d e <return> C-h c <M-tab> C-h c M-TAB
>>
>> C-h c <M-tab> showed me "<M-tab> runs the command pcomplete".
>> C-h c M-TAB (which I typed via Ctrl+Alt+i) showed me "M-TAB runs the
>> command flyspell-auto-correct-word".
>>
>> I expected _both_ key events -- <M-tab> and M-TAB -- to show me
>> flyspell-auto-correct-word.
>
> This occurs because org.el for some reason tries to define the M-TAB key
> 3 different ways:
>
> (org-defkey org-mode-map [(meta tab)] 'pcomplete)
> (org-defkey org-mode-map "\M-\t" 'pcomplete)
> (org-defkey org-mode-map "\M-\C-i" 'pcomplete)
>
> Removing all but the second definition would fix this.
>
> Ref "Named ASCII Control Characters" in the lispref.
>
> If you do not want to distinguish between (for example) <TAB> and
> `C-i', make just one binding, for the ASCII character <TAB> (octal
> code 011). If you do want to distinguish, make one binding for this
> ASCII character, and another for the "function key" `tab'.
Thanks. This is now fixing in Org repo, I'll close the bug when
this goes into Emacs.
--
Bastien
On Fri, Mar 23, 2012 at 23:31, Bastien Guerry <bzg@altern.org> wrote:
>
> Hi Glenn,
>
> Glenn Morris <rgm@gnu.org> writes:
>
> > Eric Hanchrow wrote:
> >
> >> I started emacs with "emacs -Q". Then I typed
> >>
> >> M-x o r g - m o d e <return> M-x f l y s p e l l -
> >> m o d e <return> C-h c <M-tab> C-h c M-TAB
> >>
> >> C-h c <M-tab> showed me "<M-tab> runs the command pcomplete".
> >> C-h c M-TAB (which I typed via Ctrl+Alt+i) showed me "M-TAB runs the
> >> command flyspell-auto-correct-word".
> >>
> >> I expected _both_ key events -- <M-tab> and M-TAB -- to show me
> >> flyspell-auto-correct-word.
> >
> > This occurs because org.el for some reason tries to define the M-TAB key
> > 3 different ways:
> >
> > (org-defkey org-mode-map [(meta tab)] 'pcomplete)
> > (org-defkey org-mode-map "\M-\t" 'pcomplete)
> > (org-defkey org-mode-map "\M-\C-i" 'pcomplete)
> >
> > Removing all but the second definition would fix this.
> >
> > Ref "Named ASCII Control Characters" in the lispref.
> >
> > If you do not want to distinguish between (for example) <TAB> and
> > `C-i', make just one binding, for the ASCII character <TAB> (octal
> > code 011). If you do want to distinguish, make one binding for this
> > ASCII character, and another for the "function key" `tab'.
>
> Thanks. This is now fixing in Org repo, I'll close the bug when
> this goes into Emacs.
Isn't there an underlying bug in Emacs here? Should not the flyspell
binding have overrided the org-mode-map binding from the beginning
(since org-mode-map is a major mode map)?
> Isn't there an underlying bug in Emacs here?
Whether it's a bug or not depends on point of view. flyspell takes the
position that it binds M-TAB, so if you want to bind M-tab to something
else you can (and you still get flyspell's command on C-M-i and on ESC
TAB).
Stefan
Bastien Guerry <bzg@altern.org> writes:
> Glenn Morris <rgm@gnu.org> writes:
>
>> Eric Hanchrow wrote:
>>
>>> I started emacs with "emacs -Q". Then I typed
>>>
>>> M-x o r g - m o d e <return> M-x f l y s p e l l -
>>> m o d e <return> C-h c <M-tab> C-h c M-TAB
>>>
>>> C-h c <M-tab> showed me "<M-tab> runs the command pcomplete".
>>> C-h c M-TAB (which I typed via Ctrl+Alt+i) showed me "M-TAB runs the
>>> command flyspell-auto-correct-word".
>>>
>>> I expected _both_ key events -- <M-tab> and M-TAB -- to show me
>>> flyspell-auto-correct-word.
>>
>> This occurs because org.el for some reason tries to define the M-TAB key
>> 3 different ways:
>>
>> (org-defkey org-mode-map [(meta tab)] 'pcomplete)
>> (org-defkey org-mode-map "\M-\t" 'pcomplete)
>> (org-defkey org-mode-map "\M-\C-i" 'pcomplete)
>>
>> Removing all but the second definition would fix this.
>>
>> Ref "Named ASCII Control Characters" in the lispref.
>>
>> If you do not want to distinguish between (for example) <TAB> and
>> `C-i', make just one binding, for the ASCII character <TAB> (octal
>> code 011). If you do want to distinguish, make one binding for this
>> ASCII character, and another for the "function key" `tab'.
>
> Thanks. This is now fixing in Org repo, I'll close the bug when
> this goes into Emacs.
Fixed in Emacs trunk. Closing this bug.
--
Bastien