Function: dired-clean-up-after-deletion
dired-clean-up-after-deletion is a byte-compiled function defined in
dired.el.gz.
Signature
(dired-clean-up-after-deletion FN)
Documentation
Clean up after a deleted file or directory FN.
Removes any expanded subdirectory of deleted directory. If
dired-x is loaded and dired-clean-up-buffers-too is non-nil,
kill any buffers visiting those files, prompting for
confirmation. To disable the confirmation, see
dired-clean-confirm-killing-deleted-buffers.
Source Code
;; Defined in /usr/src/emacs/lisp/dired.el.gz
(defun dired-clean-up-after-deletion (fn)
"Clean up after a deleted file or directory FN.
Removes any expanded subdirectory of deleted directory. If
`dired-x' is loaded and `dired-clean-up-buffers-too' is non-nil,
kill any buffers visiting those files, prompting for
confirmation. To disable the confirmation, see
`dired-clean-confirm-killing-deleted-buffers'."
(save-excursion (and (cdr dired-subdir-alist)
(dired-goto-subdir fn)
(dired-kill-subdir)))
;; Offer to kill buffer of deleted file FN.
(when (and (featurep 'dired-x) dired-clean-up-buffers-too)
(let ((buf (get-file-buffer fn)))
(and buf
(or (and dired-clean-confirm-killing-deleted-buffers
(funcall #'y-or-n-p
(format "Kill buffer of %s, too? "
(file-name-nondirectory fn))))
(not dired-clean-confirm-killing-deleted-buffers))
(kill-buffer buf)))
(let ((buf-list (dired-buffers-for-dir-or-subdir
(expand-file-name fn))))
(and buf-list
(or (and dired-clean-confirm-killing-deleted-buffers
(y-or-n-p
(format
(ngettext
"Kill Dired buffer of %s, too? "
"Kill Dired buffers of %s and its sub-directories, too? "
(length buf-list))
(file-name-nondirectory
;; FN may end in a / if `dired-listing-switches'
;; contains -p, so we need to strip that
;; (bug#48301).
(directory-file-name fn)))))
(not dired-clean-confirm-killing-deleted-buffers))
(dolist (buf buf-list)
(kill-buffer buf))))))