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

From: Juri Linkov <[email-masked]>
Date: Mon, 07 Jul 2025 19:57:29 +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?

This is the right thing since it fixes the reported problem.

>   . 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?

Yes, we need to handle mouse-down and mouse-up commands.

>   . What about commands bound to double clicks and triple clicks?

This is doable.