diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2021-12-01 20:16:29 +0100 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2021-12-01 20:16:57 +0100 |
commit | ec3b6fa8e18a64616af057195f86a4c8b09f9ccd (patch) | |
tree | 1c656b19138768368111e9ab1264ecf8ba8fc234 /lisp/files.el | |
parent | 02ebd790b785693a76361b8ab398f6654b51fe3f (diff) | |
download | emacs-ec3b6fa8e18a64616af057195f86a4c8b09f9ccd.tar.gz emacs-ec3b6fa8e18a64616af057195f86a4c8b09f9ccd.tar.bz2 emacs-ec3b6fa8e18a64616af057195f86a4c8b09f9ccd.zip |
Make `C-x C-d' require either an existing directory or a wildcard
* lisp/files.el (list-directory): Require either an existing
directory or a wildcard (bug#25807).
Diffstat (limited to 'lisp/files.el')
-rw-r--r-- | lisp/files.el | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lisp/files.el b/lisp/files.el index f72723ab7dd..c96e79cc63d 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -7211,11 +7211,18 @@ DIRNAME is globbed by the shell if necessary. Prefix arg (second arg if noninteractive) means supply -l switch to `ls'. Actions controlled by variables `list-directory-brief-switches' and `list-directory-verbose-switches'." - (interactive (let ((pfx current-prefix-arg)) - (list (read-directory-name (if pfx "List directory (verbose): " - "List directory (brief): ") - nil default-directory nil) - pfx))) + (interactive + (let ((pfx current-prefix-arg)) + (list (read-file-name + (if pfx "List directory (verbose): " + "List directory (brief): ") + nil default-directory t + nil + (lambda (file) + (or (file-directory-p file) + (insert-directory-wildcard-in-dir-p + (expand-file-name file))))) + pfx))) (let ((switches (if verbose list-directory-verbose-switches list-directory-brief-switches)) buffer) |