Subject: Re: 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 09:34:17 +0300

>> > Thanks, but how general is this fix?
>> 
>> This fix is general unlike the first version that hard-coded mouse-drag-region.
>> 
>> > What if some bindings change the command invoked as mouse-drag-region
>> > in this case, and we have a different command "interfering"?
>> 
>> Both commands (bound to down-mouse-1 and mouse-1) should be handled here,
>> regardless of whether it's mouse-drag-region or anything else.
>> 
>> > For that matter, could you please explain how exactly did
>> > mouse-drag-region "get in the way" of the "C-x 4 4" feature?  Because
>> > I still don't understand the root cause of the problem, and the fix
>> > you installed doesn't explain that to me.  I therefore cannot
>> > understand the implications of the fix, and IMO we should continue
>> > discussing this until we have a complete understanding of both the
>> > problem and its fix.
>> 
>> 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?