From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Getting the click position in a string Date: Wed, 26 Apr 2006 13:56:43 +0200 Message-ID: <853bg0r1ms.fsf@lola.goethe.zz> References: <85fyk2ugle.fsf@lola.goethe.zz> <85fyk0rbrk.fsf@lola.goethe.zz> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1146052642 4115 80.91.229.2 (26 Apr 2006 11:57:22 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 26 Apr 2006 11:57:22 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 26 13:57:13 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FYids-0002fg-Bt for ged-emacs-devel@m.gmane.org; Wed, 26 Apr 2006 13:57:12 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FYidr-0001L3-Rj for ged-emacs-devel@m.gmane.org; Wed, 26 Apr 2006 07:57:11 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FYide-0001Jg-K4 for emacs-devel@gnu.org; Wed, 26 Apr 2006 07:56:58 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FYidd-0001He-IE for emacs-devel@gnu.org; Wed, 26 Apr 2006 07:56:57 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FYidd-0001HT-DW for emacs-devel@gnu.org; Wed, 26 Apr 2006 07:56:57 -0400 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FYigJ-0001gH-FF for emacs-devel@gnu.org; Wed, 26 Apr 2006 07:59:43 -0400 Original-Received: from localhost ([127.0.0.1] helo=lola.goethe.zz) by fencepost.gnu.org with esmtp (Exim 4.34) id 1FYidd-0008Kj-Qt; Wed, 26 Apr 2006 07:56:58 -0400 Original-Received: by lola.goethe.zz (Postfix, from userid 1002) id EE3761D1FFCD; Wed, 26 Apr 2006 13:56:43 +0200 (CEST) Original-To: storm@cua.dk (Kim F. Storm) In-Reply-To: (Kim F. Storm's message of "Wed, 26 Apr 2006 13:32:44 +0200") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) 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:53465 Archived-At: storm@cua.dk (Kim F. Storm) writes: > David Kastrup writes: > >>> Am I wrong here? > > I think I answered that... (answer: yes) > >> >> On another tangent, is this change ok? For implementing follow-link, >> I need to take a look at the follow-link binding in the keymap of a >> click, not the binding of the click itself. > > Looks ok to me. >> Incidentally, this function looks faulty: it should search the keymap >> _and_ the local-map property (in _that_ order) instead of searching at >> most one of the two, even if that search would fail. > > I think the rationale is that one assumes that a user would only add > either a keymap or a local-map property But there are lots of maps between those two in the search order, so there might be good reason to use both even in a single application. > -- but in any case, it should look for the keymap property before > the local-map property. > > But it seems easy to fix it to DTRT. I will do a fix which looks in both keymaps. Maybe there should be something like posn-key-binding which looks through _all_ relevant keymaps at the point of a click (which would include the various buffer-local and global maps)? How does this actually work in the normal event loop? >> Apart from fixing it and adding an optional key argument, is help.el >> the right place for it? > > For what? For the function `string-key-binding'. If I add an optional KEY argument, this function becomes a "general-purpose" function used outside of help.el (which is the point of the exercise), and putting it there is probably counterintuitive. It should probably be with `posn-string' and similar, which are currently in subr.el. It also appears that string-key-binding is not in the Elisp manual. It might be worth grouping with the `posn-string' and similar descriptions, too. However, I'll fix it in help.el for now, check in that change, and whether to move it can still be decided afterwards. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum