diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/diff.el | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lisp/diff.el b/lisp/diff.el index 891fb970449..ff7906a80c4 100644 --- a/lisp/diff.el +++ b/lisp/diff.el @@ -266,8 +266,12 @@ The backup file is the first file given to `diff'." (or (let ((bak (make-backup-file-name fn))) (if (file-exists-p bak) bak)) - (let* ((dir (file-name-directory fn)) - (base-versions (concat (file-name-nondirectory fn) ".~")) + ;; We use BACKUPNAME to cope with backups stored in a different dir. + (let* ((backupname (car (find-backup-file-name fn))) + (dir (file-name-directory backupname)) + (base-versions (concat (file-name-sans-versions + (file-name-nondirectory backupname)) + ".~")) (bv-length (length base-versions))) (concat dir (car (sort |