From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stuart D. Herring" Newsgroups: gmane.emacs.devel Subject: Re: `key-binding' and XEmacs-style events Date: Thu, 1 Mar 2007 15:52:13 -0800 (PST) Message-ID: <38780.128.165.123.18.1172793133.squirrel@webmail.lanl.gov> References: <36817.128.165.123.18.1172703473.squirrel@webmail.lanl.gov> <38667.128.165.123.18.1172788075.squirrel@webmail.lanl.gov> Reply-To: herring@lanl.gov NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: sea.gmane.org 1172793181 30551 80.91.229.12 (1 Mar 2007 23:53:01 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 1 Mar 2007 23:53:01 +0000 (UTC) Cc: emacs-devel@gnu.org, Stefan Monnier , rms@gnu.org To: "Kim F. Storm" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 02 00:52:54 2007 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 1HMv4u-000136-SD for ged-emacs-devel@m.gmane.org; Fri, 02 Mar 2007 00:52:53 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HMv4u-0007oZ-Ci for ged-emacs-devel@m.gmane.org; Thu, 01 Mar 2007 18:52:52 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HMv4R-0007fl-RT for emacs-devel@gnu.org; Thu, 01 Mar 2007 18:52:23 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HMv4P-0007dg-TC for emacs-devel@gnu.org; Thu, 01 Mar 2007 18:52:23 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HMv4P-0007dN-Nj for emacs-devel@gnu.org; Thu, 01 Mar 2007 18:52:21 -0500 Original-Received: from mailwasher.lanl.gov ([192.65.95.54] helo=mailwasher-b.lanl.gov) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HMv4L-0001wb-S6; Thu, 01 Mar 2007 18:52:18 -0500 Original-Received: from mailrelay3.lanl.gov (mailrelay3.lanl.gov [128.165.4.104]) by mailwasher-b.lanl.gov (8.13.8/8.13.8/(ccn-5)) with ESMTP id l21NqFkH029923; Thu, 1 Mar 2007 16:52:15 -0700 Original-Received: from webmail1.lanl.gov (webmail1.lanl.gov [128.165.4.106]) by mailrelay3.lanl.gov (8.13.8/8.13.8/(ccn-5)) with ESMTP id l21NqDtC030913; Thu, 1 Mar 2007 16:52:14 -0700 Original-Received: from webmail1.lanl.gov (localhost.localdomain [127.0.0.1]) by webmail1.lanl.gov (8.12.11.20060308/8.12.11) with ESMTP id l21NqDJv011910; Thu, 1 Mar 2007 16:52:13 -0700 Original-Received: (from apache@localhost) by webmail1.lanl.gov (8.12.11.20060308/8.12.11/Submit) id l21NqDBe011907; Thu, 1 Mar 2007 15:52:13 -0800 X-Authentication-Warning: webmail1.lanl.gov: apache set sender to herring@lanl.gov using -f Original-Received: from 128.165.123.18 (SquirrelMail authenticated user 196434) by webmail.lanl.gov with HTTP; Thu, 1 Mar 2007 15:52:13 -0800 (PST) In-Reply-To: User-Agent: SquirrelMail/1.4.8-2.el3.7lanl X-Priority: 3 (Normal) Importance: Normal X-PMX-Version: 4.7.1.128075 X-detected-kernel: Linux 2.4-2.6 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:67177 Archived-At: >> We're talking about going the other way -- supporting (key-binding >> [(?a)]) >> in Emacs > > Yes, but we don't have to fix it. > > If you want to write portable code, simply use the GNU Emacs format [?a], > as this is also supported by XEmacs. What I am actually interested in can be seen at http://www.emacswiki.org/cgi-bin/wiki/unbound.el: this code mechanically manipulates keystrokes. By far the easiest way to do this is to generate XEmacs lists with modifiers and base events, rather than having to generate the symbol 'C-end and the low-ASCII ?\C-a and the high-bit-set ?\C-` with separate rules. Then the natural way of representing an unmodified key is a list containing 0 modifiers and the base event, but that fails (for `key-binding' only; `lookup-key' and `define-key' accept it) because it doesn't happen to begin with a symbol. Obviously it is possible to detect the case of an unmodified event and emit a non-list for it, but it makes the code needlessly more complex. Davis -- This product is sold by volume, not by mass. If it appears too dense or too sparse, it is because mass-energy conversion has occurred during shipping.