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: Shift-movement selection Date: Mon, 10 Mar 2008 16:06:54 +0100 Message-ID: <87fxuyobxt.fsf@kfs-lx.rd.rdm> References: <200803050637.m256bXL3008361@sallyv1.ics.uci.edu> <87hcfkdhqk.fsf@stupidchicken.com> <87d4q8sq9c.fsf@jurta.org> <8763w0n393.fsf@catnip.gol.com> <871w6ounk0.fsf@kfs-lx.rd.rdm> <87ablacdxt.fsf@catnip.gol.com> <87skyzzeng.fsf@catnip.gol.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1205161727 21999 80.91.229.12 (10 Mar 2008 15:08:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 10 Mar 2008 15:08:47 +0000 (UTC) Cc: juri@jurta.org, cyd@stupidchicken.com, emacs-devel@gnu.org, rms@gnu.org, Miles Bader To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 10 16:09:04 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JYjbQ-00051P-RE for ged-emacs-devel@m.gmane.org; Mon, 10 Mar 2008 16:07:49 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JYjas-00081A-Ju for ged-emacs-devel@m.gmane.org; Mon, 10 Mar 2008 11:07:14 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JYjap-00080l-E9 for emacs-devel@gnu.org; Mon, 10 Mar 2008 11:07:11 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JYjam-0007z4-8P for emacs-devel@gnu.org; Mon, 10 Mar 2008 11:07:10 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JYjam-0007yp-2K for emacs-devel@gnu.org; Mon, 10 Mar 2008 11:07:08 -0400 Original-Received: from pfepb.post.tele.dk ([195.41.46.236]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JYjae-0007V6-Bw; Mon, 10 Mar 2008 11:07:00 -0400 Original-Received: from kfs-lx.rd.rdm.cua.dk (unknown [80.165.4.121]) by pfepb.post.tele.dk (Postfix) with SMTP id C22DFF84073; Mon, 10 Mar 2008 16:06:54 +0100 (CET) In-Reply-To: (Stefan Monnier's message of "Mon\, 10 Mar 2008 10\:38\:35 -0400") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.91 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) 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:92039 Archived-At: Stefan Monnier writes: >>>> So to make it work "correctly", you need to modify all commands in >>>> emacs! [yikes!] >>> Most commands already deactivate the mark. So which ones would be left? > >> Anything that doesn't modify the buffer -- e.g. all movement commands. > > Supposedly these will be changed to use the new function, so they will > explicitly deactivate the mark if the mark was activated with shift and > the movement is then performed without the shift. One problem is that basic movement commands are in C, not in Lisp. Another problem may be advise on functions - the "shift" handling may then be performed too late. Personally, I like my proposal of just setting a "shift" property on the relevant commands, and do it by running a shifted-key-hook in the command loop. That method has proven to work excellent with CUA mode! For one thing, it is trivial for a user to add shift-region support for new movement commands in an external package - without modifying the code of that package. -- Kim F. Storm http://www.cua.dk