Subject: bug#78945: 30.1; C-x 4 4 and C-x 5 5 do not work with `dired-mouse-find-file'

From: Eli Zaretskii <[email-masked]>
Date: Mon, 07 Jul 2025 17:05:01 +0300

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Mon, 07 Jul 2025 09:34:17 +0300
> 
> >> Looking at 'C-h l' (view-lossage) explains everything:
> >> 
> >>  C-x 5 5          ;; other-frame-prefix
> >>  <down-mouse-1>   ;; mouse-drag-region
> >>  <mouse-1>        ;; dired-mouse-find-file
> >
> > Sorry, it doesn't, not to me, probably because I don't understand well
> > enough what "C-x 4 4" does and how.  So please talk me through the
> > code which implements "C-x 4 4" and explain how down-mouse-1 in the
> > middle defeated it.  Without that, I cannot understand the fix and its
> > generality.
> 
> The docstring of "C-x 4 4" says:
> 
>   Display the buffer of the next command in a new window.
> 
> Clicking the mouse button runs two commands, so both should be handled here.
> Or do you think this special case should be mentioned in the docstring?

We should probably document it once we agree and understand the full
effect of the change.

Right now, I understand that:

  . "C-x 4 4" etc. can affect more than just one next command -- as
    long as the commands have the 'down' modifier, we will keep the
    override in effect -- is this expected or TRT?
  . If some command is bound to mouse-down event, it might not be the
    only command affected by "C-x 4 4" -- do we want that?
  . What about commands bound to double clicks and triple clicks?