`org-mode-map` binds `[tab]` which is unnecessary and harmful, since it takes precendence over bindings of TAB even in keymaps with higher precedence.
Emacs : GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.5, cairo version 1.16.0) of 2021-02-09, modified by Debian Package: Org mode version 9.4.6 (9.4.6-gab9f2a @ /home/user/.config/emacs/elpa/org-9.4.6/) ---- I've observed this problem with my GNU ELPA package Corfu, which installs a keymap with higher precedence than org-mode. In order to override Org, it also has to bind [tab], which is undesired. On 6/27/21 11:11 AM, Daniel Mendler wrote: > On 6/26/21 4:02 PM, Stefan Monnier wrote: >>> + (define-key map [tab] #'corfu-complete) >> >> Please avoid binding `tab`: the `tab` event (only generated under GUIs) >> is supposed to be remapped to the TAB char-event (aka `C-i`) and this is >> what you should bind to if you want your binding to work both under ttys >> and GUIs. >> >> More importantly, if you bind to `tab` than this binding will take >> precedence over all other bindings to TAB, even those in keymaps that >> have higher precedence. >> >> The same holds for `return` vs RET, and `escape` vs ESC. > > Hello Stefan, > > I am aware of the unfortunate implications of these bindings. > Originally I avoided these bindings for the exact reasons you mention > and I hoped I could do without those (only binding RET/TAB and > remappings). However I have to use these keys since Org-mode seems to > override these keys too. Otherwise my keymap will not take precedence > over the Org-mode keymap. > > Daniel >