From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Teemu Likonen Newsgroups: gmane.emacs.devel Subject: Re: Emacs learning curve Date: Sun, 18 Jul 2010 22:21:18 +0300 Message-ID: <87sk3g4mvl.fsf@mithlond.arda> References: <4C3B6A8A.80105@gmx.de> <87iq4f8gyh.fsf@telefonica.net> <874ofzl2ji.fsf@mithlond.arda> <201007162023.32116.tassilo@member.fsf.org> <87zkxrjihf.fsf@mithlond.arda> <8739vjf2k2.fsf@gmail.com> <8739vi8x39.fsf@mithlond.arda> <87oce6cdas.fsf@mithlond.arda> <87oce5ymfd.fsf@uwakimon.sk.tsukuba.ac.jp> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: Quoted-Printable X-Trace: dough.gmane.org 1279481732 3423 80.91.229.12 (18 Jul 2010 19:35:32 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 18 Jul 2010 19:35:32 +0000 (UTC) Cc: "Uday S. Reddy" , emacs-devel@gnu.org To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jul 18 21:35:29 2010 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.69) (envelope-from ) id 1OaZe3-00087p-H8 for ged-emacs-devel@m.gmane.org; Sun, 18 Jul 2010 21:35:29 +0200 Original-Received: from localhost ([127.0.0.1]:53606 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OaZe0-00059m-AX for ged-emacs-devel@m.gmane.org; Sun, 18 Jul 2010 15:35:24 -0400 Original-Received: from [140.186.70.92] (port=35092 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OaZdq-0004iX-Lc for emacs-devel@gnu.org; Sun, 18 Jul 2010 15:35:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OaZSN-0001Sm-KF for emacs-devel@gnu.org; Sun, 18 Jul 2010 15:23:24 -0400 Original-Received: from mta-out.inet.fi ([195.156.147.13]:49480 helo=jenni2.inet.fi) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OaZSN-0001H6-4S for emacs-devel@gnu.org; Sun, 18 Jul 2010 15:23:23 -0400 Original-Received: from mithlond.arda (84.251.132.215) by jenni2.inet.fi (8.5.122) id 4C333077004E8E40; Sun, 18 Jul 2010 22:21:36 +0300 Original-Received: from dtw by mithlond.arda with local (Exim 4.69) (envelope-from ) id 1OaZQN-00015N-5j; Sun, 18 Jul 2010 22:21:19 +0300 In-Reply-To: <87oce5ymfd.fsf@uwakimon.sk.tsukuba.ac.jp> (Stephen J. Turnbull's message of "Sun, 18 Jul 2010 22:00:38 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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:127561 Archived-At: * 2010-07-18 22:00 (+0900), Stephen J. Turnbull wrote: > Teemu Likonen writes: >> But do we agree that using substitute-key-definition with reference >> to global-map is bad and should be replaced with command remapping >> (see above)? > > No. I think you'll find that it's not used as frequently as you think. I already did "M-x rgrep" on emacs.git/lisp directory before posting anything about the function. > Many commands that *should* do slightly different things in different > modes already *do* do those things in the different modes, by virtue > of hooks in the commands. If you rebind the command to a different > key, all the mode-dependent behavior goes with it. I just don't think > this is the root of the problem. And even if it is, I think the right > way to handle it is to make the command itself configurable. > > The problem is when modes bind completely different functions to the > keys. If you decide to rearrange the mappings of core commands, users > of such mode will lose. But (define-key MAP [remap next-line] 'new-next-line) is great, though. I dreamed that Emacs had such abstraction that user could redefine global keyboard bindings and it would be nice and usable throughout the system. In particular I was interested in only one user: me. But never mind, it was na=EFve and I no longer have that dream. I realized that, even though redefining individual keys is simple, some of the default bindings still exist conceptually everywhere in different major modes. I'm not that motivated to redesign modes too because that's what it takes to maintain consistency. Heavy keyboard customization just isn't practically possible. So, I'll just continue to use the default keys with the knowledge that, although they are not the most ergonomic and fast for text editing, at least they are quite consistent throughout the Emacs system, even the GNU system. Now let's move on. What's the next purely academic discussion we should have here on emacs-devel? :-)