This is interesting. Let me see if I'm understanding properly. In this, I'll talk only about sexps, but I believe this argument should apply to all the forms we've talked about (word, sexp, paragraph, defun, page). These commands should:
1. Always move forward/back by ARG sexps (defaulting to 1), setting the region on all sexps it moves across.
I'm in agreement with #1, for sure. That is the basis for what I wanted initially.
2. Ignore whether transient-mark-mode is enabled.
3. Don't change behavior if the region is active or not.
#2 and #3 I believe can be considered together. There are a few things that could do this, but I think what you're saying is that this function should *only* move mark. That is, point should stay the same no matter what is called here. Additionally, it should activate mark. Is that what you meant?
> But adding new commands that still change behavior in mysterious ways
> depending on transient-mark-mode and active region is not something I
> would like to do.
My understanding was that #'use-region-p (which checks transient-mark-mode, and whether the region is active) is a standard way for determining whether to act on the region or not, and should generally be looked at before acting on the region. Is that not accurate?