branch: elpa/dirvish
commit 078129a900907e80bd9a0f384b176f12cf7bc7b4
Author: James Conroy-Finn <[email protected]>
Commit: GitHub <[email protected]>
fix(dired-noselect): Support both lists and strings (#257)
Dired supports both strings and lists in dired-noselect.
https://github.com/oantolin/embark/issues/701
---
dirvish.el | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/dirvish.el b/dirvish.el
index f787038f34..b827d0a539 100644
--- a/dirvish.el
+++ b/dirvish.el
@@ -676,9 +676,10 @@ buffer, it defaults to filename under the cursor when it
is nil."
(with-current-buffer buf
(dirvish--render-attrs)))))))
(with-current-buffer buf (add-hook 'post-command-hook fun nil t)) buf))
-(defun dirvish-dired-noselect-a (fn dir &optional flags)
+(defun dirvish-dired-noselect-a (fn dir-or-list &optional flags)
"Return buffer for DIR with FLAGS, FN is `dired-noselect'."
- (let* ((key (file-name-as-directory (expand-file-name dir)))
+ (let* ((dir (if (consp dir-or-list) (car dir-or-list) dir-or-list))
+ (key (file-name-as-directory (expand-file-name dir)))
(this dirvish--this)
(dv (if (and this (eq this-command 'dired-other-frame)) (dirvish-new)
(or this (car (dirvish--find-reusable)) (dirvish-new))))
@@ -691,9 +692,9 @@ buffer, it defaults to filename under the cursor when it is
nil."
(when new-buffer-p
(if (not remote)
(let ((dired-buffers nil)) ; disable reuse from dired
- (setq buffer (apply fn (list dir flags))))
+ (setq buffer (apply fn (list dir-or-list flags))))
(require 'dirvish-extras)
- (setq buffer (dirvish-noselect-tramp fn dir flags remote)))
+ (setq buffer (dirvish-noselect-tramp fn dir-or-list flags remote)))
(with-current-buffer buffer (dirvish-init-dired-buffer))
(push (cons key buffer) (dv-roots dv))
(push (cons key buffer) dired-buffers))
@@ -702,8 +703,8 @@ buffer, it defaults to filename under the cursor when it is
nil."
((and (not remote) (not (equal flags dired-actual-switches)))
(dired-sort-other flags))
((eq dired-auto-revert-buffer t) (revert-buffer))
- ((functionp dired-auto-revert-buffer)
- (when (funcall dired-auto-revert-buffer dir) (revert-buffer))))
+ ((functionp dired-auto-revert-buffer)
+ (when (funcall dired-auto-revert-buffer dir) (revert-buffer))))
(dirvish-prop :dv (dv-name dv))
(dirvish-prop :gui (display-graphic-p))
(dirvish-prop :remote remote)