diff options
author | Arthur Miller <arthur.miller@live.com> | 2020-11-02 12:38:27 +0100 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2020-11-02 12:38:27 +0100 |
commit | 0806075520939d120a47113f1c121e3d63b34770 (patch) | |
tree | e5d9dd2ba5bdea3e1f95fd6a10f1c87dac76cf44 /lisp/dired.el | |
parent | ce1856ec09dd312667d8f7cf9ffc908b473d27b8 (diff) | |
download | emacs-0806075520939d120a47113f1c121e3d63b34770.tar.gz emacs-0806075520939d120a47113f1c121e3d63b34770.tar.bz2 emacs-0806075520939d120a47113f1c121e3d63b34770.zip |
Add directory-empty-p and new argument COUNT for directory-files-*
* doc/lispref/files.texi (Contents of Directories): Mention COUNT
argument of directory-files. Add directory-empty-p.
* etc/NEWS: Mention directory-empty-p and directory-files changes.
* lisp/dired.el (directory-empty-p): New defun.
* lisp/net/ange-ftp.el (ange-ftp-directory-files)
(ange-ftp-directory-files-and-attributes):
* lisp/net/tramp.el (tramp-handle-directory-files)
(tramp-handle-directory-files-and-attributes):
* lisp/net/tramp-adb.el
(tramp-adb-handle-directory-files-and-attributes):
* lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files):
* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add new COUNT
argument.
* src/dired.c (directory_files_internal): Implement new
RETURN_COUNT argument.
(Fdirectory_files, Fdirectory_files_and_attributes): Add new COUNT
argument.
* src/lisp.h (directory_files_internal): Add RETURN_COUNT to declaration.
* src/sysdep.c (list_system_processes): Add Qnil to
directory_files_internal call.
* test/src/dired-tests.el (directory-files-and-attributes-tests):
New file.
Diffstat (limited to 'lisp/dired.el')
-rw-r--r-- | lisp/dired.el | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lisp/dired.el b/lisp/dired.el index 08b19a02250..5ac2f203347 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -3016,6 +3016,20 @@ dired-buffers." ;; Tree Dired ;;; utility functions +(defun directory-empty-p (filename) + "Return t if FILENAME names an existing directory containing no +other files. Return nil if FILENAME does not name a directory, or if +there was trouble determining whether DIRECTORYNAME is a directory or empty. + +As a special case, this function will also return t if FILENAME is the +empty string (\"\"). This quirk is due to Emacs interpreting the +empty string (in some cases) as the current directory. + +Symbolic links to directories count as directories. +See `file-symlink-p' to distinguish symlinks. " + (and (file-directory-p filename) + (null (directory-files + filename nil directory-files-no-dot-files-regexp t 1)))) (defun dired-in-this-tree-p (file dir) ;;"Is FILE part of the directory tree starting at DIR?" |