From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: storm@cua.dk (Kim F. Storm) Newsgroups: gmane.emacs.devel Subject: Re: Another keybinding nit for afterwards Date: Wed, 06 Dec 2006 10:52:02 +0100 Message-ID: References: <85d58dpjbd.fsf@lola.goethe.zz> <85y7pludd0.fsf@lola.goethe.zz> <87odqh50np.fsf@catnip.gol.com> NNTP-Posting-Host: dough.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1165398795 25011 80.91.229.10 (6 Dec 2006 09:53:15 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 6 Dec 2006 09:53:15 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 06 10:53:11 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by dough.gmane.org with esmtp (Exim 4.50) id 1GrtSY-0006xQ-DY for ged-emacs-devel@m.gmane.org; Wed, 06 Dec 2006 10:53:02 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GrtSX-0008Mn-Oj for ged-emacs-devel@m.gmane.org; Wed, 06 Dec 2006 04:53:01 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GrtRu-0008Lo-1M for emacs-devel@gnu.org; Wed, 06 Dec 2006 04:52:22 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GrtRs-0008KU-AZ for emacs-devel@gnu.org; Wed, 06 Dec 2006 04:52:20 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GrtRr-0008Jz-VC for emacs-devel@gnu.org; Wed, 06 Dec 2006 04:52:20 -0500 Original-Received: from [195.41.46.236] (helo=pfepb.post.tele.dk) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GrtRn-0001Lq-P2; Wed, 06 Dec 2006 04:52:16 -0500 Original-Received: from kfs-l.imdomain.dk.cua.dk (unknown [80.165.4.124]) by pfepb.post.tele.dk (Postfix) with SMTP id B1E61A50062; Wed, 6 Dec 2006 10:52:11 +0100 (CET) Original-To: Miles Bader In-Reply-To: <87odqh50np.fsf@catnip.gol.com> (Miles Bader's message of "Wed\, 06 Dec 2006 09\:27\:22 +0900") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.91 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:63349 Archived-At: Miles Bader writes: > David Kastrup 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 http://www.cua.dk