--- ediff-ptch.el 2007-02-25 18:10:42.000000000 +0100 +++ ediff-ptch.el 2007-02-25 18:11:11.000000000 +0100 @@ -311,22 +311,23 @@ (file-exists-p base-dir1)) (message "(file-exists-p base-dir2) %s" (file-exists-p base-dir2)) ;; If both base-dir1 and base-dir2 are relative and exist, ;; assume that ;; these dirs lead to the actual files starting at the present ;; directory. So, we don't strip these relative dirs from the ;; file names. This is a heuristic intended to improve guessing - (unless (or (file-name-absolute-p base-dir1) - (file-name-absolute-p base-dir2) - (not (file-exists-p base-dir1)) - (not (file-exists-p base-dir2))) + (let ((default-directory (file-name-directory filename))) + (unless (or (file-name-absolute-p base-dir1) + (file-name-absolute-p base-dir2) + (not (file-exists-p base-dir1)) + (not (file-exists-p base-dir2))) (setq base-dir1 "" - base-dir2 "")) + base-dir2 ""))) (or (string= (car proposed-file-names) "/dev/null") (setcar proposed-file-names (ediff-file-name-sans-prefix (car proposed-file-names) base-dir1))) (or (string= (cdr proposed-file-names) "/dev/null") (setcdr proposed-file-names (ediff-file-name-sans-prefix