From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Miles Bader Newsgroups: gmane.emacs.devel Subject: Re: [CVS] f7, f8 bound.. Date: 29 Aug 2002 10:14:40 +0900 Sender: emacs-devel-admin@gnu.org Message-ID: References: <87lm6xiruh.fsf@computer.localdomain> <5xu1liwmu6.fsf@kfs2.cua.dk> <200208261526.g7QFQX624783@rum.cs.yale.edu> <5xu1lgu1e4.fsf@kfs2.cua.dk> <200208271621.g7RGLNm30516@rum.cs.yale.edu> <5xhehfe3aj.fsf@kfs2.cua.dk> Reply-To: Miles Bader NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1030583824 3175 127.0.0.1 (29 Aug 2002 01:17:04 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 29 Aug 2002 01:17:04 +0000 (UTC) Cc: storm@cua.dk, monnier+gnu/emacs@rum.cs.yale.edu, deego@glue.umd.edu, emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17kDvf-0000ov-00 for ; Thu, 29 Aug 2002 03:17:00 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17kERi-0004TK-00 for ; Thu, 29 Aug 2002 03:50:07 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17kDx3-0005hl-00; Wed, 28 Aug 2002 21:18:25 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17kDvW-00059S-00 for emacs-devel@gnu.org; Wed, 28 Aug 2002 21:16:50 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17kDvT-000596-00 for emacs-devel@gnu.org; Wed, 28 Aug 2002 21:16:49 -0400 Original-Received: from tyo202.gate.nec.co.jp ([210.143.35.52]) by monty-python.gnu.org with esmtp (Exim 4.10) id 17kDvT-00058o-00; Wed, 28 Aug 2002 21:16:47 -0400 Original-Received: from mailgate4.nec.co.jp ([10.7.69.193]) by TYO202.gate.nec.co.jp (8.11.6/3.7W01080315) with ESMTP id g7T1GO404563; Thu, 29 Aug 2002 10:16:24 +0900 (JST) Original-Received: from mailsv.nec.co.jp (mailgate51.nec.co.jp [10.7.69.190]) by mailgate4.nec.co.jp (8.11.6/3.7W-MAILGATE-NEC) with ESMTP id g7T1EnI07148; Thu, 29 Aug 2002 10:16:07 +0900 (JST) Original-Received: from mcsss2.ucom.lsi.nec.co.jp ([10.30.114.133]) by mailsv.nec.co.jp (8.11.6/3.7W-MAILSV-NEC) with ESMTP id g7T1Ege26481; Thu, 29 Aug 2002 10:14:43 +0900 (JST) Original-Received: from mcspd15.ucom.lsi.nec.co.jp (mcspd15 [10.30.114.174]) by mcsss2.ucom.lsi.nec.co.jp (8.10.2+Sun/3.7Wlsi_mx_6.0) with ESMTP id g7T1Ees19656; Thu, 29 Aug 2002 10:14:41 +0900 (JST) Original-Received: by mcspd15.ucom.lsi.nec.co.jp (Postfix, from userid 31295) id AA88736F2; Thu, 29 Aug 2002 10:14:40 +0900 (JST) Original-To: rms@gnu.org System-Type: i686-pc-linux-gnu Blat: Foop In-Reply-To: Original-Lines: 59 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:7093 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:7093 Richard Stallman writes: > Hell, why not just make `C-x e' end the macro as well as executing it, > and then use Stefan's idea of allowing the `e' to be repeated > indefinitely [or something similar]? > > These seem like good ideas, except that I would have chosen C-x ) instead > of C-x e, for symmetry with C-x (. Yeah, I agree, but that changes the meaning of `C-x )', whereas adding this new meaning to `C-x e' can be done in a backward-compatible way (currently `C-x e' while defining a macro just results in an error). I also like the mnemonic value of `C-x e' -- `execute' -- and the concept of an `execute' command implicitly terminating the definition phase seems more natural to me that the concept of the `end-def' command (for which `C-x )' is highly mnemonic) executing once. I also think that `C-x )' is still a useful command; sometimes I want to just end the current macro definition with, without executing it (e.g., when I'm defining the macro in a different buffer on some fake data). > Actually, I think a better idea would be to make `C-x e' repeat if you > hit SPC afterwards, and display a message to that effect so that it's > obvious, e.g., > > SPC would be easier to type over and over than e. > > However, one thing worries me about both ideas: both of them could be > error-prone. You might want to type an e, or a space, for its normal > meaning, after executing the macro. Very true, but I think that that's _far_ more rare than wanting to execute the macro again (that's why I think it's important to display a message, so it's up-front obvious that you're really in some sort of mode), and SPC is just about the easiest to type and most widespread repetition key there is (think of pagers such as more, query-replace, etc). It's kind of isearch -- sometimes you want to search for RET, and have to think a little to do it, but most of the time the convenience of the unusual binding wins out. I think the _best_ thing would be a single-mnemonic-letter-with-modifier binding, e.g. M-e (but that's obviously taken, and of course not everyone has a real meta-key); however adding repeating behavior to an existing command seems like a decent alternative. Also, adding the SPC-key behavior to `C-x e' would have the benefit that existing emacs users could immediately start using it, when they see the message, without really learning any new commands at all. I agree with Kim that the repetition key should probably be controlled by a variable or something, mostly so people who don't like this behavior can set it to nil -- but I also think that the default should be to enable it, with a value of SPC. -Miles -- `The suburb is an obsolete and contradictory form of human settlement'