4 ms·
> transient-mark-mode just allows you to see what you're selecting. Yeah, no. It's a modal state, and since Emacs doesn't support modal interfaces directly, it
by morelisp 6y ago
> transient-mark-mode just allows you to see what you're selecting.
Yeah, no. It's a modal state, and since Emacs doesn't support modal interfaces directly, it touches tons of separate commands (anything using `region-active-p`) and means it's tremendously difficult to find out all it does!
Many commands change their behavior when Transient Mark mode is
in effect and the mark is active, by acting on the region instead
of their usual default part of the buffer’s text. Examples of
such commands include M-;, M-x flush-lines, M-x keep-lines,
M-%, M-%, M-x ispell, and C-x u.
To see the documentation of commands which are sensitive to the
Transient Mark mode, invoke C-h d and type "transient"
or "mark.*active" at the prompt.
The reason selection with a mouse also triggers it is because all these commands would not DTRT unless it did, given Emacs's approach of forcing mice to fit into the system designed for keyboards.
- throwaway_pdp09 6y agoHmm, thanks for pointing this out. But I'm slightly baffled, for the commands you gave (flush-lines, M-%, M-S-%) that's fine - transient mode with keyboard (between point and mark) and with a mouse, they are the same thing. Transmode is just highlighting AFAICS (between point and mark) and that mode quits the moment you release the mouse (leaving mark where you started the drag, point where you ended it). The convention of "operate only on stuff between point and mark" is necessary, mouse or no, and has been there since forever. But I'm no expert!