On Tue, Apr 13, 2010 at 07:16:51PM +0000, Vegard Øye wrote:
Transient Mark mode doesn't necessarily hightlight the region; it creates a distinction between "active regions" and "inactive regions". By default, the region is inactive; it has to be /made/ active to be highlighted. When Transient Mark mode is disabled, on the other hand, there is no distinction; the region is just the region.
Actually, IIUC that depends on the value of `mark-even-if-inactive'. If it is nil, there is no distinction between active and inactive region in TMM -- either there is a region (active and highlighted) or not (IOW -- any use of `set-mark-command' activates TMM). But yeah, the behaviour is in some ways confusing to me, too.
Vimpulse wants the distinction between "active" and "inactive", because it allows it to reliably identify selection commands like `mark-sexp' and `mark-paragraph', which activate the region in Transient Mark mode. So, when you press "d M-h", the region is activated, and that region is deleted. When you press "d w", the region is not activated, so a motion range is constructed instead, and that range is deleted.
It's this distinction which makes Transient Mark mode valuable, although it is a PITA to get the frequent enabling/disabling to work smoothly.
Hm. I assume you know about the possibility to set `transient-mark-mode' to `lambda' or `(only . OLDVAL)' and it does not help the problem?
You don't even need multiple files for your debugging method. You can unload the features one by one anyway (the only difference being `vimpulse' depending on all the others, so you would need to unload it first or use the FORCE argument to `unload-feature').
Hm. Wouldn't requiring any single feature load the whole file?
Yes. And unloading any feature would unload the whole file. In short, what I write above is basically nonsense (as is any scheme that doesn't go with one file == one feature correspondence). Sorry. Štěpán