Subject: bug#41261: 27.0.90; Dired default file operation target no longer guessed

From: Wojciech Siewierski <[email-masked]>
Date: Thu, 14 May 2020 23:40:50 +0200

Eli Zaretskii <[email-masked]> writes:

>> From: Kévin Le Gouguec <[email-masked]>
>> Date: Thu, 14 May 2020 17:20:10 +0200
>> Cc: [email-masked]
>> 
>> Wojciech Siewierski <[email-masked]> writes:
>> 
>> > Test scenario, from 'emacs -Q':
>> > 1. Open two dired buffers in two windows.
>> > 2. Try moving a file by pressing 'R'.
>> > 3. The currently suggested directory should be the file's original
>> >    directory, that's expected.
>> > 4. Press M-n.
>> > 5. The currently suggested directory should be the directory of the
>> >    second buffer window.
>> >
>> > That was the case in Emacs 26.3 but not in Emacs 27.0.90 which now
>> > changes the moved file's directory into its full current path upon
>> > pressing M-n.  Just to be clear, I do not want the second directory to
>> > be the initial default (i.e. what setting dired-dwim-target to t would
>> > do), I only expect this behavior after pressing M-n.
>> 
>> If I'm not mistaken, this change in behaviour has been introduced in
>> bug#35385.
>
> I'm not sure I understand how that could be possible, since the change
> for bug#35385 didn't change any behaviors, it just added new functions
> that can be optionally used as values of dired-dwim-target.
>
> Could you please bisect to see what change broke this?  This behavior
> wasn't supposed to change in Emacs 27.
>
> Thanks.

I've bisected it and it seems it's indeed related to bug#35385, in
commit d0351f4d2010e3e8f3ada04b045dede10f110d7f.

Previously dired-dwim-target-recent's body was called unconditionally,
now it's no longer the case.  If I replace dired-dwim-target in the
second part of the cond with a simple t, it seems to be back working.
Setting dired-dwim-target also seems to still be working as expected.
I noticed M-n cycles between all dired windows' current directories, so
I assume the new functionality works too.  I'm not sure if it's a full
fix, can somebody take it from here?

Thank you
-- 
Wojciech Siewierski