Variable: dired-recursive-deletes
dired-recursive-deletes is a customizable variable defined in
dired.el.gz.
Value
top
Documentation
Whether Dired deletes directories recursively.
If nil, Dired will not delete non-empty directories.
always means to delete non-empty directories recursively,
without asking. This is dangerous!
top means to ask for each top-level directory specified by the
Dired deletion command, and delete its subdirectories without
asking.
Any other value means to ask for each directory.
Probably introduced at or before Emacs version 21.1.
Source Code
;; Defined in /usr/src/emacs/lisp/dired.el.gz
;;; Deleting files
(defcustom dired-recursive-deletes 'top
"Whether Dired deletes directories recursively.
If nil, Dired will not delete non-empty directories.
`always' means to delete non-empty directories recursively,
without asking. This is dangerous!
`top' means to ask for each top-level directory specified by the
Dired deletion command, and delete its subdirectories without
asking.
Any other value means to ask for each directory."
:type '(choice :tag "Delete non-empty directories"
(const :tag "Yes" always)
(const :tag "No--only delete empty directories" nil)
(const :tag "Confirm for each directory" t)
(const :tag "Confirm for each top directory only" top))
:group 'dired)