From 0ccf31635d16db24e6fcafa8e434ded282b87db2 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 22 Oct 2019 01:58:17 -0400 Subject: [PATCH] emacs/dired: fix icons interfering w/ wdired #1929 --- modules/emacs/dired/config.el | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/modules/emacs/dired/config.el b/modules/emacs/dired/config.el index 23ff18b95..416c5d800 100755 --- a/modules/emacs/dired/config.el +++ b/modules/emacs/dired/config.el @@ -108,7 +108,23 @@ we have to clean it up ourselves." (use-package! all-the-icons-dired :when (featurep! +icons) - :hook (dired-mode . all-the-icons-dired-mode)) + :hook (dired-mode . all-the-icons-dired-mode) + :config + ;; HACK Fixes #1929: icons break file renaming in Emacs 27+, because the icon + ;; is considered part of the filename, so we disable icons while we're in + ;; wdired-mode. + (when EMACS27+ + (defvar-local +wdired-icons-enabled nil) + + (defadvice! +dired-disable-icons-in-wdired-mode-a (&rest _) + :before #'+wdired-before-start-advice + (setq +wdired-icons-enabled (if all-the-icons-dired-mode 1 0)) + (when all-the-icons-dired-mode + (all-the-icons-dired-mode -1))) + + (defadvice! +dired-restore-icons-after-wdired-mode-a (&rest _) + :after #'+wdired-after-finish-advice + (all-the-icons-dired-mode +wdired-icons-enabled)))) (use-package! dired-x