summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2021-07-21 13:12:05 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2021-07-21 13:12:05 +0200
commit5e385eb49dbf4f3ccf68a6670e245a309e4393c4 (patch)
tree422abe93682bad3416430c82d99f6f758397f7a7
parentbc0aca059dbfe8cd485d9591f36efb70a2a6272e (diff)
downloademacs-5e385eb49dbf4f3ccf68a6670e245a309e4393c4.tar.gz
emacs-5e385eb49dbf4f3ccf68a6670e245a309e4393c4.tar.bz2
emacs-5e385eb49dbf4f3ccf68a6670e245a309e4393c4.zip
Restore evaluation logic in dired-guess-default
* lisp/dired-x.el (dired-guess-default): Restore the `eval' bits also removed in a previous commit (bug#48071).
-rw-r--r--lisp/dired-x.el25
1 files changed, 14 insertions, 11 deletions
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 073923e09c9..a7bfae759ed 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -975,17 +975,20 @@ See `dired-guess-shell-alist-user'."
(let* ((case-fold-search dired-guess-shell-case-fold-search)
(programs
(delete-dups
- (seq-reduce
- #'append
- (mapcar #'cdr
- (seq-filter (lambda (elem)
- (seq-every-p
- (lambda (file)
- (string-match-p (car elem) file))
- files))
- (append dired-guess-shell-alist-user
- dired-guess-shell-alist-default)))
- nil))))
+ (mapcar
+ (lambda (command)
+ (eval command `((file . ,(car files)))))
+ (seq-reduce
+ #'append
+ (mapcar #'cdr
+ (seq-filter (lambda (elem)
+ (seq-every-p
+ (lambda (file)
+ (string-match-p (car elem) file))
+ files))
+ (append dired-guess-shell-alist-user
+ dired-guess-shell-alist-default)))
+ nil)))))
(if (length= programs 1)
(car programs)
programs)))