From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#32029: PATCH: xref-find-definitions-at-mouse Date: Tue, 3 Jul 2018 16:15:31 +0300 Message-ID: References: <9af0d021-361d-ccc6-a051-f102589bccb7@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1530623655 14298 195.159.176.226 (3 Jul 2018 13:14:15 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 3 Jul 2018 13:14:15 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 To: Tobias Gerdin , 32029@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jul 03 15:14:10 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1faL8E-0003bV-HR for geb-bug-gnu-emacs@m.gmane.org; Tue, 03 Jul 2018 15:14:10 +0200 Original-Received: from localhost ([::1]:40512 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1faLAL-0001yG-5M for geb-bug-gnu-emacs@m.gmane.org; Tue, 03 Jul 2018 09:16:21 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56350) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1faLA9-0001ww-53 for bug-gnu-emacs@gnu.org; Tue, 03 Jul 2018 09:16:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1faLA4-00037j-2P for bug-gnu-emacs@gnu.org; Tue, 03 Jul 2018 09:16:09 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:36575) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1faLA3-00037Q-SP for bug-gnu-emacs@gnu.org; Tue, 03 Jul 2018 09:16:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1faLA2-0006aQ-8v for bug-gnu-emacs@gnu.org; Tue, 03 Jul 2018 09:16:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 03 Jul 2018 13:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32029 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 32029-submit@debbugs.gnu.org id=B32029.153062374325292 (code B ref 32029); Tue, 03 Jul 2018 13:16:02 +0000 Original-Received: (at 32029) by debbugs.gnu.org; 3 Jul 2018 13:15:43 +0000 Original-Received: from localhost ([127.0.0.1]:44472 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1faL9j-0006Zr-0w for submit@debbugs.gnu.org; Tue, 03 Jul 2018 09:15:43 -0400 Original-Received: from mail-ed1-f41.google.com ([209.85.208.41]:39659) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1faL9g-0006Ze-4l for 32029@debbugs.gnu.org; Tue, 03 Jul 2018 09:15:41 -0400 Original-Received: by mail-ed1-f41.google.com with SMTP id w14-v6so1597681eds.6 for <32029@debbugs.gnu.org>; Tue, 03 Jul 2018 06:15:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=2IbTx1MdhmeE460kucoU9wDDbCSGz/xNej8aK5kpVQI=; b=tv26y9QiAnqj4GNxSaEgYHUYUM93MbYmJEeLC3gpnYvWcRBtNVCb5B3w8jU/QAGQOI 0/sv7S8igOcqCNJuVT6k5VwwpJY4xki06t8BiRYybG0Qzga9EOvARnaTheh4WEk6FFNL NLjNnmR4+u8+uKqwq6RVECbX59mLhM4GCQQsZBraqtFpgi3EXDBhEa+F2MvQPz72jLBd ic3m1A9orqb9uVQmoGkBKjx7UWYc1vCn6BSQBXCLPw/g6TOMDFirlAX8SStHiHxVJFbp gqGo9MrqWJPFgcwExvW/tYNYng2FGpDMI7jeb81D+IK/vNPBWXa2jRF8GXhbaEfkNTnk HXHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=2IbTx1MdhmeE460kucoU9wDDbCSGz/xNej8aK5kpVQI=; b=qVqyAvGeEnR2TWBKq9b28jF9CP6X2lSR8FT4LNk6Uuci48fF2ZLFE/UK+P6TBWoLl3 VLUXBw7bvlzhQart0DkcWFoV0FvBkq/Zrh2cIKx5cgI9rT9toZ9qqYU73W4nD9x1YGwO bKxEjlR723wBt5hx0M5eynm+5Hn74vA0EEvL2dZL/BeiMe8byprZClE4TMffvkOInVeY Dt/n+KPdOj2lV4NyBIa0nUDcA/PUtVsCmCh5hwRbNsJ7XVuiQZ6GjTaepyzXDdg/2EKU a3R9RZoLKwR7XUgSBWrAr2TN6qB8hLH0zKZg2coEveD60kEYvi9uLSYKyMiWWDPsRI5T YIYg== X-Gm-Message-State: APt69E3U//1YeI6S5g05uREvbmu/5cfLumLNGo5KkqfIN2Rgk8EF0wv4 5MD6Il8afTawIyyMJPrQhe+38a6s X-Google-Smtp-Source: AAOMgpe2la1fvrRLKchD5KcXmdxGHDPlOVGjP3onnDrBOFi6Ib/sdwnSlIszandYkwB//sp83OnwyA== X-Received: by 2002:a50:b962:: with SMTP id m89-v6mr27566447ede.20.1530623734072; Tue, 03 Jul 2018 06:15:34 -0700 (PDT) Original-Received: from [192.168.0.200] ([109.110.245.170]) by smtp.googlemail.com with ESMTPSA id m51-v6sm884894edc.94.2018.07.03.06.15.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 03 Jul 2018 06:15:33 -0700 (PDT) In-Reply-To: <9af0d021-361d-ccc6-a051-f102589bccb7@gmail.com> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:148150 Archived-At: On 7/2/18 2:18 AM, Tobias Gerdin wrote: > +;;;###autoload > +(defun xref-find-definitions-at-mouse (event) > +  "Find the definition of identifier around mouse click." > +  (interactive "e") > +  (let* ((backend (xref-find-backend)) > +     (identifier (save-excursion > +              (mouse-set-point event) > +              (xref-backend-identifier-at-point backend)))) > +    (if identifier > +    (xref--find-definitions identifier nil) > +      (user-error "No identifier here")))) You should call `mouse-set-point` before `xref-find-backend`, because the latter might conceivably depend on the value of point. I think this can be written much shorter (call mouse-set-point, then interactively call xref-find-definitions), but I'm not sure how.