all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Juri Linkov <juri@linkov.net>
Cc: 50256@debbugs.gnu.org, larsi@gnus.org
Subject: bug#50256: thing-at-mouse
Date: Wed, 01 Sep 2021 15:02:04 +0300	[thread overview]
Message-ID: <83sfyoqzb7.fsf@gnu.org> (raw)
In-Reply-To: <87ilzk6bsr.fsf@mail.linkov.net> (message from Juri Linkov on Wed, 01 Sep 2021 10:17:56 +0300)

> From: Juri Linkov <juri@linkov.net>
> Date: Wed, 01 Sep 2021 10:17:56 +0300
> Cc: 50256@debbugs.gnu.org
> 
> > So maybe the check for current-buffer above should be added
> > to mouse-set-point.
> 
> Now I found the real root of the problems.  All reported problems
> can be solved by this short patch:
> 
> diff --git a/lisp/subr.el b/lisp/subr.el
> index 0a31ef2b29..0b3b8d0e0f 100644
> --- a/lisp/subr.el
> +++ b/lisp/subr.el
> @@ -1510,8 +1510,8 @@ event-start
>  
>  For more information, see Info node `(elisp)Click Events'."
>    (if (consp event) (nth 1 event)
> -    (or (posn-at-point)
> -        (list (selected-window) (point) '(0 . 0) 0))))
> +    (or (posn-at-point (window-point))
> +        (list (selected-window) (window-point) '(0 . 0) 0))))

I don't understand this: are you saying that in a selected window you
see point different from window-point?  How does that happen?

> Both 'event-start' and 'event-end' created an event
> with the window equal to the selected window,
> but point from some random buffer,
> not from selected window's buffer.

Can you show the recipe that produces this strange result?  (I looked
at bug#9923, which you say is where this was reported, but couldn't
find a recipe there for which you described the sequence of calls.)

> One question still remains: maybe this fix should be implemented
> at a deeper level in posn-at-point when its arg POS is nil?
> 
> But actually, posn-at-point just uses this line:
> 
>   tem = Fpos_visible_in_window_p (pos, window, Qt);
> 
> So maybe this fix should be implemented in Fpos_visible_in_window_p,
> i.e. at the end of this code
> 
>   if (EQ (pos, Qt))
>     posint = -1;
>   else if (!NILP (pos))
>     posint = fix_position (pos);
>   else if (w == XWINDOW (selected_window))
>     posint = PT;
>   else
>     posint = marker_position (w->pointm);
> 
> it should get position from the selected window's buffer?

Once again, in a selected window, point (a.k.a. "PT" in C) should be
identical to the window-point of that window.  So I don't think I
understand why this would need any change.  Please tell more.





  parent reply	other threads:[~2021-09-01 12:02 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-29 17:21 bug#50256: thing-at-mouse Juri Linkov
2021-08-29 20:03 ` Lars Ingebrigtsen
2021-08-30  7:20   ` Juri Linkov
2021-08-31  0:04     ` Lars Ingebrigtsen
2021-08-31  6:49       ` Juri Linkov
2021-08-31 17:52         ` Juri Linkov
2021-09-01  7:17           ` Juri Linkov
2021-09-01  7:43             ` Lars Ingebrigtsen
2021-09-01  9:18             ` martin rudalics
2021-09-01 12:16               ` Eli Zaretskii
2021-09-01 14:25                 ` martin rudalics
2021-09-01 15:59                   ` Eli Zaretskii
2021-09-01 16:21                     ` martin rudalics
2021-09-01 17:54                       ` Eli Zaretskii
2021-09-01 17:59                         ` Juri Linkov
2021-09-01 19:23                           ` Eli Zaretskii
2021-09-02  6:16                             ` Juri Linkov
2021-09-02  7:21                               ` Eli Zaretskii
2021-09-02  7:23                               ` Lars Ingebrigtsen
2021-09-02  7:34                                 ` Eli Zaretskii
2021-09-02  6:48                         ` martin rudalics
2021-09-02  7:30                           ` Eli Zaretskii
2021-09-02  7:32                             ` Lars Ingebrigtsen
2021-09-02  7:46                               ` Eli Zaretskii
2021-09-02  8:54                                 ` martin rudalics
2021-09-02  9:02                                   ` Eli Zaretskii
2021-09-02 12:42                                     ` martin rudalics
2021-09-02 13:13                                       ` Eli Zaretskii
2021-09-02 14:43                                         ` martin rudalics
2021-09-02 15:58                                           ` Juri Linkov
2021-09-02 18:28                                             ` Juri Linkov
2021-09-02 18:41                                               ` Eli Zaretskii
2021-09-03  7:40                                                 ` martin rudalics
2021-09-03 11:06                                                   ` Eli Zaretskii
2021-09-04  7:34                                                     ` martin rudalics
2021-09-04  8:02                                                       ` Eli Zaretskii
2021-09-04 11:10                                                         ` martin rudalics
2021-09-04 11:35                                                           ` Eli Zaretskii
2021-09-04 18:58                                                             ` Juri Linkov
2021-09-05  7:50                                                               ` martin rudalics
2021-09-05  7:50                                                             ` martin rudalics
2021-09-05  9:24                                                               ` Eli Zaretskii
2021-09-05  9:39                                                                 ` martin rudalics
2021-09-05  9:42                                                                   ` Eli Zaretskii
2021-09-06  8:31                                                                     ` martin rudalics
2021-09-05 16:13                                                               ` Juri Linkov
2021-09-05 16:47                                                                 ` Eli Zaretskii
2021-09-06  8:31                                                                   ` martin rudalics
2021-09-06 10:57                                                                     ` Eli Zaretskii
2021-09-06 14:08                                                                       ` martin rudalics
2021-09-06 15:43                                                                         ` Eli Zaretskii
2021-09-06 15:10                                                                       ` Juri Linkov
2021-09-12 16:32                                                                   ` Juri Linkov
2021-09-02 18:46                                               ` martin rudalics
2021-09-03  8:10                                                 ` Juri Linkov
2021-09-02 15:59                                           ` Eli Zaretskii
2021-09-01 15:42               ` Juri Linkov
2021-09-01 19:26                 ` Eli Zaretskii
2021-09-01 12:02             ` Eli Zaretskii [this message]
2021-09-01 15:44               ` Juri Linkov
2021-09-01 16:12                 ` Eli Zaretskii
2021-09-01 16:25                   ` Juri Linkov
2021-09-12 17:12         ` Juri Linkov
2021-09-12 17:32       ` Juri Linkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83sfyoqzb7.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=50256@debbugs.gnu.org \
    --cc=juri@linkov.net \
    --cc=larsi@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.