Re: Aliasing zmacs-regions, providing a transient-mark-mode

Hrvoje Niksic <[email protected]> Wed, 07 Apr 2004 11:16:52 +0200
Newsgroups gmane.emacs.xemacs.design
Message-ID <[email protected]>
Brian Palmer <[email protected]> writes:

> As far as I can tell, their deactivate-mark is almost the same thing,
> except from the other direction.

The default is the opposite, which to me is a major difference.

> Clearly we don't want to encourage or promise too much compatibility
> with the gnu emacs approach unless we're willing to go whole hog and
> conform to behavior differences, but I don't think the approach I
> outlined goes too far in that direction. It provides a better name as
> an alternative to the historical name (that is, the defvaralias),
> changes the docstring, and I suggested providing a transient-mark-mode
> function which would toggle the variable. Again, a user friendly
> convenience;

It's not a user-friendly convenience: it's a broken promise.  We don't
have transient-mark-mode, we have zmacs-regions that work differently.
Adding a transient-mark-mode variable and function implicitly promises
the transient-mark-mode functionality.

I know *I* hate it when FSF developers add a function XEmacs had
previously, but with a subtly different behavior.  Like they did with
split-string.

> 1. zmacs-regions is a really horrible name for this feature.

Who cares?  It's been here forever, and we're sort of stuck with it.
You'd have to find a better reason than that to change important
variable names.

> It's pretty bad user interface to punt and claim that the people who
> would want to use a function will find it

The only thing a user can really do with zmacs-regions is turn them
off.  I still don't think new users will typically want to do that.

> 2. GNU Emacs has almost the exact same feature, with a decent name for
> it.

"Almost" is the key.  If we supported the variable, we would have to
implement the exact same thing, out of decency, respect, and out of
wish not to be buried with bug reports.

Not to mention that I've seen code that tests for (boundp
'transient-mark-mode) and works with either transient-mark or zmacs
regions.  That code would simply break.