Subject: bug#24089: 25.1; Dired: diff error on = <RET> if the file has a backup inside .~/

From: Jorge Peixoto de Morais Neto <[email-masked]>
Date: Fri, 29 Jul 2016 13:29:23 -0300

On Fri, 2016-07-29 at 17:43 +0300, Eli Zaretskii wrote:
> I'm not sure why you expect that case to work.  How can Emacs
> reverse-engineer backup-directory-alist, to figure out which of its
> elements was in effect when the original file was backed up?  In your
> example, there's only one element in the alist, but in general there
> could be several.
> 
> It sounds like in this case the users cannot just press RET, they
> should actually type a file name.  Am I missing something?
I understood the intended behavior that way because of the dired-diff
docstring:
    If the file at point is a backup file, use its original.

Perhaps the docstring could be clarified?

Also dired-diff could be tweaked so that, when it is is invoked on a backup
file, the default would be empty.  This would avoid the diff error on = <RET>.
 I am not sure though.

Another possibility (which can be combined with the previous) is to tweak
dired-diff to reverse-engineer backup-directory-alist at least for a few
important easy particular cases, such as the following two:
   1. (("." . ".~"))
   2. (("." . "/ABSOLUTE/PATH"))
and possibly others.

-- 
• I am Brazilian.  I hope my English is correct and I welcome corrections.
• Please adopt free formats like PDF, ODF, Org, LaTeX, Opus, WebM and 7z.
• Free (as in free speech) software for Android: https://f-droid.org/