From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Lennart Borgman (gmail)" Newsgroups: gmane.emacs.devel Subject: Re: A simple implementation of context-sensitive keys Date: Thu, 11 Sep 2008 22:38:30 +0200 Message-ID: <48C981C6.9030201@gmail.com> References: <87y72079mg.fsf@thinkpad.tsdh.de> <87d4jbg62j.fsf@thinkpad.tsdh.de> <48C92024.6080804@gmail.com> <48C921CB.3010700@gmail.com> <87hc8miwy0.fsf@thinkpad.tsdh.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1221165545 25497 80.91.229.12 (11 Sep 2008 20:39:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 11 Sep 2008 20:39:05 +0000 (UTC) To: "Lennart Borgman (gmail)" , Stefan Monnier , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Sep 11 22:40:00 2008 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 1KdsxI-0006ej-Om for ged-emacs-devel@m.gmane.org; Thu, 11 Sep 2008 22:39:57 +0200 Original-Received: from localhost ([127.0.0.1]:43181 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KdswI-0007J5-Bt for ged-emacs-devel@m.gmane.org; Thu, 11 Sep 2008 16:38:54 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KdswD-0007Hz-Rh for emacs-devel@gnu.org; Thu, 11 Sep 2008 16:38:49 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KdswA-0007Ga-Ic for emacs-devel@gnu.org; Thu, 11 Sep 2008 16:38:49 -0400 Original-Received: from [199.232.76.173] (port=56540 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KdswA-0007GS-Bx for emacs-devel@gnu.org; Thu, 11 Sep 2008 16:38:46 -0400 Original-Received: from ch-smtp01.sth.basefarm.net ([80.76.149.212]:58959) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Kdsw9-0002xL-KG for emacs-devel@gnu.org; Thu, 11 Sep 2008 16:38:46 -0400 Original-Received: from c83-254-151-87.bredband.comhem.se ([83.254.151.87]:62047 helo=[127.0.0.1]) by ch-smtp01.sth.basefarm.net with esmtp (Exim 4.68) (envelope-from ) id 1Kdsw4-0002tD-4H; Thu, 11 Sep 2008 22:38:43 +0200 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 In-Reply-To: <87hc8miwy0.fsf@thinkpad.tsdh.de> X-Enigmail-Version: 0.95.7 X-Antivirus: avast! (VPS 080911-0, 2008-09-11), Outbound message X-Antivirus-Status: Clean X-Originating-IP: 83.254.151.87 X-Scan-Result: No virus found in message 1Kdsw4-0002tD-4H. X-Scan-Signature: ch-smtp01.sth.basefarm.net 1Kdsw4-0002tD-4H ffde5e569363408b9b9a0bff43729fd7 X-detected-kernel: by monty-python.gnu.org: Linux 2.6? (barebone, rare!) 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:103825 Archived-At: Tassilo Horn wrote: > "Lennart Borgman (gmail)" writes: > > Hi! > >>> Currently the problem of which minor mode gets the key press is >>> resolved just by the corresponding minor mode's position in >>> minor-mode-map-alist. The first one gets it. >> Eh, and maybe I should have added that it is easier to understand what >> I am talking about after looking here: >> >> (info "(elisp) Searching Keymaps") > > So I guess a first step into the right direction would be to enhance > `describe-key' that it doesn't stop if KEY is found, but to list the > shadowed commands, too. Something like If you say that this is the first step so, yes ... ;-) > ,---- > | TAB (translated from ) runs the command message-tab, which is an > | interactive compiled Lisp function in > | `/usr/share/emacs/23.0.60/lisp/gnus/message.el'. > | > | It is bound to TAB in `message-mode-map'. <== This is new There is currently no function in Emacs to find the keymap variable name. However I wrote the command `describe-key-and-map-briefly' that tries to find the keymap variable name. This is a bit tricky and I am sure that you can construct cases where it does not work. However so far I have not found any example where it does not work. Here is the output from it c is bound to `describe-key-and-map-briefly' in `global-map' and here is the output from `describe-key-briefly' (the default binding for c): c runs the command describe-key-and-map-briefly The function is in this file http://bazaar.launchpad.net/~nxhtml/nxhtml/main/annotate/52?file_id=ourcommentsutil.el-20080724174035-zgon4j679232cch3-182 > | (message-tab) > | > | Complete names according to `message-completion-alist'. > | Execute function specified by `message-tab-body-function' when not in > | those headers. > | > | It shadows the following commands: <== This is new > | > | `foo' (bound to TAB in `foo-mode-map') > | `bar' (bound to TAB in `bar-mode-map') > | ... > `---- Yes, something like that. > Bye, > Tassilo