From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Key bindings proposal Date: Thu, 29 Jul 2010 16:05:32 +0200 Message-ID: References: <19534.1494.627000.357123@gargle.gargle.HOWL> <87sk35upn2.fsf@uwakimon.sk.tsukuba.ac.jp> <19535.3143.113000.779009@gargle.gargle.HOWL> <87r5io1owq.fsf@catnip.gol.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1280412583 6833 80.91.229.12 (29 Jul 2010 14:09:43 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 29 Jul 2010 14:09:43 +0000 (UTC) Cc: emacs-devel@gnu.org To: Miles Bader Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jul 29 16:09:41 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 1OeTnk-0000CG-8O for ged-emacs-devel@m.gmane.org; Thu, 29 Jul 2010 16:09:36 +0200 Original-Received: from localhost ([127.0.0.1]:55167 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OeTk2-0008Hd-TV for ged-emacs-devel@m.gmane.org; Thu, 29 Jul 2010 10:05:46 -0400 Original-Received: from [140.186.70.92] (port=38862 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OeTjw-0008Gd-7I for emacs-devel@gnu.org; Thu, 29 Jul 2010 10:05:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OeTjr-0000t2-W4 for emacs-devel@gnu.org; Thu, 29 Jul 2010 10:05:39 -0400 Original-Received: from impaqm4.telefonica.net ([213.4.138.4]:51036) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OeTjr-0000sl-O3 for emacs-devel@gnu.org; Thu, 29 Jul 2010 10:05:35 -0400 Original-Received: from IMPmailhost2.adm.correo ([10.20.102.39]) by IMPaqm4.telefonica.net with bizsmtp id nozb1e0050r0BT63Qq5Z2a; Thu, 29 Jul 2010 16:05:33 +0200 Original-Received: from ceviche.home ([83.61.51.16]) by IMPmailhost2.adm.correo with BIZ IMP id nq5Z1e0040LyJBX1iq5ZNK; Thu, 29 Jul 2010 16:05:33 +0200 X-Brightmail-Tracker: AAAAAA== X-TE-authinfo: authemail="monnier$movistar.es" |auth_email="monnier@movistar.es" X-TE-AcuTerraCos: auth_cuTerraCos="cosuitnetc01" Original-Received: by ceviche.home (Postfix, from userid 20848) id E555666140; Thu, 29 Jul 2010 16:05:32 +0200 (CEST) In-Reply-To: <87r5io1owq.fsf@catnip.gol.com> (Miles Bader's message of "Wed, 28 Jul 2010 08:32:53 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. 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:127962 Archived-At: >> It seems to me that these "actions" are a form of abstract operations. >> The actions implemented by a mode can be regarded as its interface. > I think it's a good idea (and have advocated it before), Yes, although we already do have something similar: - the function-key-map can be used to map to , where logical key is similar to . It is not used much in this way (mostly for TAB and DEL and a handful more at best). - the key remapping (where the remapped command acts as the as well as its default binding). - things like fill-paragraph-function, line-indent-function, ... The last one is usually the most effective (since it can affect several related bindings at the same time, and do it in the right way). > but no, it won't solve the problem of re-skinning. Indeed. > problem" as someone in this thread so aptly put it) or preserving > patterns which are an important feature of Emacs' current bindings or > [e.g. the "n/f type bindings go forward", etc]. For these, I think it would be good to be able to have "(de?)composed bindings", where you could bind `n' and `f' to some special keymap-like thingies and then therein bind C-, M-, and M-C- to other special thingies. The intention would be to reflect the structure directly into the keymap. This would apply to several other cases. Stefan