3 ms·
> For example, if I can click and drag, I do not need `transient-mark-mode`, a tricky modality in our "non-modal" editor transient-mark-mode just allows you to
by throwaway_pdp09 6y ago
> For example, if I can click and drag, I do not need `transient-mark-mode`, a tricky modality in our "non-modal" editor
transient-mark-mode just allows you to see what you're selecting. If you don't have it you don't see what's being selected until you release the mouse. You need that more with a mouse than a keyboard.
- 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!