Currently org-support-shift-select can have one of three values: - nil (default), use org mode's special shift bindings, and throw an error outside of appropriate contexts. - t, in the appropriate contexts use org mode's special shift bindings, otherwise allow shift to select. - 'always, in all contexts allow shift to select, except timestamps, when shift will continue to adjust the timestamp.
The latter behaviour is documented at the bottom of the variable's docstring: However, when the cursor is on a timestamp, shift-cursor commands will still edit the time stamp - this is just too good to give up. For me, this is /not/ too good to give up; i prefer to use org-timestamp for timestamp manipulation, and i frequently run into the issue of trying to shift-select over a timestamp. This led me to unbind the keys and write about it, which led to Ihor suggesting i bring this up here. I don't have any issues with the default, nor do i have any issues with the three options provided. However, i think that the third option should not be called 'always if it does not actually mean that shift-select is always supported. A better name might be something like 'except-timestamps. Assuming 'always cannot be changed for backward compatibility, i think a new option 'always-always (open to better names) should be allowed, which does not allow timestamps special privileges. Then anyone used to the current emacs defaults will not get frustrated when the shift-cursor commands don't always behave in a way consistent with the rest of emacs.
