Subject: bug#27940: Recursively delete dir34? (yes, no, all, quit)

From: Noam Postavsky <[email-masked]>
Date: Sun, 15 Oct 2017 10:17:07 -0400

Tino Calancha <[email-masked]> writes:

> I believe commit da4438e14f1c55808937872b6d651a807404daa2
> (dired-delete-file:  Dont't ask for empty dirs)
> has fixed it.

The "no" case of dired-test-bug27940 is failing now.  I guess if
RECURSIVE is set to nil, we should not try to delete non-empty
directories, or maybe just catch the error if it happens?

Test dired-test-bug27940 backtrace:
  delete-directory-internal("/tmp/bug27940QSb9cm/non-empty-0")
  apply(delete-directory-internal "/tmp/bug27940QSb9cm/non-empty-0")
  files--force(nil delete-directory-internal "/tmp/bug27940QSb9cm/non-
  delete-directory("/tmp/bug27940QSb9cm/non-empty-0" nil t)
  dired-delete-file("/tmp/bug27940QSb9cm/non-empty-0" top t)
  dired-internal-do-deletions((("/tmp/bug27940QSb9cm/empty-dir-0" . 18
  dired-do-delete(nil)
  (progn (advice-add 'dired--yes-no-all-quit-help :override (function 
  (unwind-protect (progn (advice-add 'dired--yes-no-all-quit-help :ove
  (let* ((dir (make-temp-file "bug27940" t)) (dired-deletion-confirmer
  (closure (t) nil (let* ((dir (make-temp-file "bug27940" t)) (dired-d
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name dired-test-bug27940 :documentation "T
  ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test 
  ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
  ert-run-tests-batch(nil)
  ert-run-tests-batch-and-exit(nil)
  eval((ert-run-tests-batch-and-exit nil))
  command-line-1(("-L" ":../../test" "-l" "ert" "-l" "lisp/dired-tests
  command-line()
  normal-top-level()
Test dired-test-bug27940 condition:
    (file-error "Removing directory" "Directory not empty" "/tmp/bug27940QSb9cm/non-empty-0")
   FAILED   9/11  dired-test-bug27940