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.

Reply via email to