Fix expansion of wildcards in ls-lisp.el
* lisp/ls-lisp.el (ls-lisp--dired): Fix error message text. Handle the case of a wildcard specifying directories. (Bug#60819)
This commit is contained in:
parent
b5e0260f42
commit
b365a7cc32
1 changed files with 16 additions and 2 deletions
|
@ -482,8 +482,22 @@ not contain `d', so that a full listing is expected."
|
|||
(if (not dir-wildcard)
|
||||
(funcall orig-fun dir-or-list switches)
|
||||
(let* ((default-directory (car dir-wildcard))
|
||||
(files (file-expand-wildcards (cdr dir-wildcard)))
|
||||
(wildcard (cdr dir-wildcard))
|
||||
(files (file-expand-wildcards wildcard))
|
||||
(dir (car dir-wildcard)))
|
||||
;; When the wildcard ends in a slash, file-expand-wildcards
|
||||
;; returns nil; fix that by treating the wildcards as
|
||||
;; specifying only directories whose names match the
|
||||
;; widlcard.
|
||||
(if (and (null files)
|
||||
(directory-name-p wildcard))
|
||||
(setq files
|
||||
(delq nil
|
||||
(mapcar (lambda (fname)
|
||||
(if (file-accessible-directory-p fname)
|
||||
fname))
|
||||
(file-expand-wildcards
|
||||
(directory-file-name wildcard))))))
|
||||
(if files
|
||||
(let ((inhibit-read-only t)
|
||||
(buf
|
||||
|
@ -494,7 +508,7 @@ not contain `d', so that a full listing is expected."
|
|||
(dired-goto-next-file)
|
||||
(forward-line 0)
|
||||
(insert " wildcard " (cdr dir-wildcard) "\n"))))
|
||||
(user-error "No files matching regexp")))))))
|
||||
(user-error "No files matching wildcard")))))))
|
||||
|
||||
(advice-add 'dired :around #'ls-lisp--dired)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue