[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
emacs-29 925724a4b54: Restore invisibility of symlink target on exiting
From: |
Stephen Berman |
Subject: |
emacs-29 925724a4b54: Restore invisibility of symlink target on exiting wdired-mode |
Date: |
Fri, 24 Feb 2023 10:43:54 -0500 (EST) |
branch: emacs-29
commit 925724a4b54a6780bfa342bc3a6440a6ad0a6ecc
Author: Stephen Berman <stephen.berman@gmx.net>
Commit: Stephen Berman <stephen.berman@gmx.net>
Restore invisibility of symlink target on exiting wdired-mode
* lisp/wdired.el (wdired-change-to-dired-mode): Invoke
dired-hide-details-update-invisibility-spec (bug#61510).
* test/lisp/wdired-tests.el (wdired-test-bug61510): New test.
---
lisp/wdired.el | 1 +
test/lisp/wdired-tests.el | 23 +++++++++++++++++++++++
2 files changed, 24 insertions(+)
diff --git a/lisp/wdired.el b/lisp/wdired.el
index 771458508e6..5572dcb32f3 100644
--- a/lisp/wdired.el
+++ b/lisp/wdired.el
@@ -455,6 +455,7 @@ non-nil means return old filename."
(setq major-mode 'dired-mode)
(setq mode-name "Dired")
(dired-advertise)
+ (dired-hide-details-update-invisibility-spec)
(remove-hook 'kill-buffer-hook #'wdired-check-kill-buffer t)
(remove-hook 'before-change-functions #'wdired--before-change-fn t)
(remove-hook 'after-change-functions #'wdired--restore-properties t)
diff --git a/test/lisp/wdired-tests.el b/test/lisp/wdired-tests.el
index 74c2449076f..897c6cd69a8 100644
--- a/test/lisp/wdired-tests.el
+++ b/test/lisp/wdired-tests.el
@@ -189,5 +189,28 @@ wdired-get-filename before and after editing."
(wdired-finish-edit))
(if buf (kill-buffer buf)))))))
+(ert-deftest wdired-test-bug61510 ()
+ "Test visibility of symlink target on leaving wdired-mode.
+When dired-hide-details-mode is enabled and
+dired-hide-details-hide-symlink-targets is non-nil (the default),
+the link target becomes invisible. When wdired-mode is enabled
+the target becomes visible, but on returning to dired-mode, it
+should be invisible again."
+ (ert-with-temp-directory test-dir
+ (let ((buf (find-file-noselect test-dir))
+ ;; Default value is t, but set it anyway, to be sure.
+ (dired-hide-details-hide-symlink-targets t))
+ (unwind-protect
+ (with-current-buffer buf
+ (make-symbolic-link "bar" "foo")
+ (dired-hide-details-mode)
+ (should (memq 'dired-hide-details-link buffer-invisibility-spec))
+ (dired-toggle-read-only)
+ (should-not (memq 'dired-hide-details-link
+ buffer-invisibility-spec))
+ (wdired-finish-edit)
+ (should (memq 'dired-hide-details-link buffer-invisibility-spec)))
+ (if buf (kill-buffer buf))))))
+
(provide 'wdired-tests)
;;; wdired-tests.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- emacs-29 925724a4b54: Restore invisibility of symlink target on exiting wdired-mode,
Stephen Berman <=