From: Tino Calancha Date: Thu, 1 Oct 2020 21:25:15 +0000 (+0200) Subject: Fix bug in wdired-get-filename X-Git-Tag: emacs-28.0.90~5777 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=29435ecd8e31497a9cc461fcf88dbbf00876863a;p=emacs.git Fix bug in wdired-get-filename * lisp/wdired.el (wdired-get-filename): Acknowledge the first argument (bug#39280). * test/lisp/wdired-tests.el (wdired-test-bug39280): Add test. --- diff --git a/lisp/wdired.el b/lisp/wdired.el index 6defbf8bc86..806eb304d9f 100644 --- a/lisp/wdired.el +++ b/lisp/wdired.el @@ -344,7 +344,7 @@ non-nil means return old filename." ;; Don't unquote the old name, it wasn't quoted in the first place (and file (setq file (wdired-normalize-filename file (not old))))) (if (or no-dir old) - file + (if no-dir (file-relative-name file) file) (and file (> (length file) 0) (concat (dired-current-directory) file)))))) diff --git a/test/lisp/wdired-tests.el b/test/lisp/wdired-tests.el index b89e8c876e2..f876967bf98 100644 --- a/test/lisp/wdired-tests.el +++ b/test/lisp/wdired-tests.el @@ -178,6 +178,22 @@ wdired-get-filename before and after editing." (server-force-delete) (delete-directory test-dir t)))) +(ert-deftest wdired-test-bug39280 () + "Test for https://debbugs.gnu.org/39280." + (let* ((test-dir (make-temp-file "test-dir" 'dir)) + (fname "foo") + (full-fname (expand-file-name fname test-dir))) + (make-empty-file full-fname) + (let ((buf (find-file-noselect test-dir))) + (unwind-protect + (with-current-buffer buf + (dired-toggle-read-only) + (dolist (old '(t nil)) + (should (equal fname (wdired-get-filename 'nodir old))) + (should (equal full-fname (wdired-get-filename nil old)))) + (wdired-finish-edit)) + (if buf (kill-buffer buf)) + (delete-directory test-dir t))))) (provide 'wdired-tests) ;;; wdired-tests.el ends here