From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tassilo Horn Newsgroups: gmane.emacs.devel Subject: Re: Get a command by its keybinding and also respecting key translation Date: Mon, 20 Dec 2010 11:19:40 +0100 Message-ID: <87lj3kd9vn.fsf@member.fsf.org> References: <871v5lpkk6.fsf@member.fsf.org> <201012142351.21774.tassilo@member.fsf.org> <87y67kdff4.fsf@member.fsf.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1292840397 3448 80.91.229.12 (20 Dec 2010 10:19:57 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 20 Dec 2010 10:19:57 +0000 (UTC) Cc: Stefan Monnier , emacs-devel@gnu.org To: Andreas Schwab Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Dec 20 11:19:53 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 1PUcqO-0001Me-Bl for ged-emacs-devel@m.gmane.org; Mon, 20 Dec 2010 11:19:52 +0100 Original-Received: from localhost ([127.0.0.1]:59355 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PUcqN-0001TK-H0 for ged-emacs-devel@m.gmane.org; Mon, 20 Dec 2010 05:19:51 -0500 Original-Received: from [140.186.70.92] (port=51737 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PUcqG-0001T9-Gd for emacs-devel@gnu.org; Mon, 20 Dec 2010 05:19:45 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PUcqE-0005Jl-NP for emacs-devel@gnu.org; Mon, 20 Dec 2010 05:19:44 -0500 Original-Received: from deliver.uni-koblenz.de ([141.26.64.15]:2243) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PUcqE-0005ID-GU for emacs-devel@gnu.org; Mon, 20 Dec 2010 05:19:42 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by deliver.uni-koblenz.de (Postfix) with ESMTP id 1BF877801698; Mon, 20 Dec 2010 11:19:41 +0100 (CET) Original-Received: from deliver.uni-koblenz.de ([127.0.0.1]) by localhost (deliver.uni-koblenz.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 10864-05; Mon, 20 Dec 2010 11:19:40 +0100 (CET) X-CHKRCPT: Envelopesender noch tassilo@member.fsf.org Original-Received: from thinkpad (tsdh.uni-koblenz.de [141.26.67.142]) by deliver.uni-koblenz.de (Postfix) with ESMTP id 846B6780168F; Mon, 20 Dec 2010 11:19:40 +0100 (CET) In-Reply-To: (Andreas Schwab's message of "Mon, 20 Dec 2010 11:09:04 +0100") User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) X-Virus-Scanned: amavisd-new at uni-koblenz.de X-detected-operating-system: by eggs.gnu.org: GNU/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:133830 Archived-At: Andreas Schwab writes: Hi Andreas, >> Or with an example: >> >> (defmacro define-context-key (keymap key dispatch) >> `(define-key ,keymap ,key >> (backquote >> (menu-item "context-key" ignore >> :filter (lambda (&optional ignored) >> ,dispatch))))) >> >> How do I smuggle a `,' before the lambda? > > First, backquote != `. It is not? From backquote.el: (defalias '\` (symbol-function 'backquote)) And describe-function returns the same (except the name) for both ``' and `backquote'. > Then just put it there. > > (defmacro define-context-key (keymap key dispatch) > `(define-key ,keymap ,key > `(menu-item "context-key" ignore > :filter ,(lambda (&optional ignored) > ,dispatch)))) Oh, that does work. I just didn't grasp that I can use `,' to evaluate inside forms that are already evaluated as a whole. Thanks, Tassilo