emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Another keybinding nit for afterwards


From: Kim F. Storm
Subject: Re: Another keybinding nit for afterwards
Date: Wed, 06 Dec 2006 10:52:02 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.91 (gnu/linux)

Miles Bader <address@hidden> writes:

> David Kastrup <address@hidden> writes:
>>> I have created a new option cua-paste-pop-rotate-temporarily which
>>> implements this functionality for C-y (and C-v) + M-y when cua-mode
>>> is enabled.
>>
>> I think it a mistake to sneak functionality like that in by going
>> through packages that are pretty much unrelated.  People who want to
>> try something like that are quite orthogonal to people who would want
>> to use cua-mode.
>
> Especially since cua-mode _already_ has way too many "commingled"
> features which are conceptually unrelated -- cua-mode should be split
> up, not more "features" added to it...

I have tried to split them apart, but it is very hard to do!

The problem is that with CUA, C-x, C-c, C-v works seamlessly with both
normal regions and rectangles, so there is no easy way to split CUA's
rectangle handling from the rest of CUA.  Likewise, the CUA's global
mark commands use the same keys in an equally seamless way.
And on top of that, CUA register prefixes work seamless with all of
those commands.

I have gone part of the way by splitting the rectangle and global mark
commands into separate .el files, but the base functionality still has
to "commingle" all of them together.

Sure, there are some tiny things like cursor control and tweaks to the
mark and yank commands which really don't belong in CUA, but again,
some of these also need to interact with e.g. the rectangle and global
mark functionality, so they are also non-trivial to un-commingle.

Maybe if we turn the bucket upside down and provide some form of hooks
directly into the basic yank, kill-region, etc commands, which the
various parts of CUA can use, then things might be done differently.

That may be something for Emacs 23, if I can find the right set of
hooks and RMS subsequently approves to make those changes.
It was hard enough for me to get the command remapping and
emulation-mode-map-alists functions into Emacs 22 just to allow the
current CUA mode to work as well as it actually does (check the mail
archives if you don't believe me :-).

-- 
Kim F. Storm <address@hidden> http://www.cua.dk





reply via email to

[Prev in Thread] Current Thread [Next in Thread]