GNU bug report logs - #65578
Eglot with mouse

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Mon, 28 Aug 2023 07:35:01 UTC

Severity: normal

Fixed in version 30.1

Done: Dmitry Gutov <dmitry <at> gutov.dev>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: Dmitry Gutov <dmitry <at> gutov.dev>
Cc: 65578 <at> debbugs.gnu.org, João Távora <joaotavora <at> gmail.com>
Subject: bug#65578: Eglot with mouse
Date: Mon, 28 Aug 2023 19:42:02 +0300
>> xref-find-definitions-at-mouse uses save-excursion with
>> mouse-set-point before calling xref-backend-identifier-at-point.
>> But the same save-excursion with mouse-set-point can't be added
>> around xref-find-definitions because save-excursion will restore
>> the original position after visiting the found identifier.
>
> Could we do that without additional save-excursion?
>
> diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
> index 0666b18cba1..0c3e34fe0a5 100644
> --- a/lisp/progmodes/xref.el
> +++ b/lisp/progmodes/xref.el
> @@ -1637,7 +1637,9 @@ xref-find-definitions-at-mouse
>             (mouse-set-point event)
>             (xref-backend-identifier-at-point (xref-find-backend)))))
>      (if identifier
> -        (xref-find-definitions identifier)
> +        (progn
> +          (mouse-set-point event)
> +          (xref-find-definitions identifier))
>        (user-error "No identifier here"))))

The problem with this solution is that when it doesn't find
the identifier then it leaves point at the wrong place.




This bug report was last modified 1 year and 323 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.