From a150d99f8e278e9b90240e4b0c460ca974b32aeb Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Thu, 12 Oct 2017 23:12:00 -0400 Subject: [PATCH v1] Improve dired deletion error handling (Bug#28797) * lisp/dired.el (dired-internal-do-deletions): Use condition-case-unless-debug. Use `error-message-string' to produce a human readable error message. --- lisp/dired.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/dired.el b/lisp/dired.el index 9e09d349f7..b24fea703a 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -3132,7 +3132,7 @@ dired-internal-do-deletions (while l (goto-char (cdr (car l))) (let ((inhibit-read-only t)) - (condition-case err + (condition-case-unless-debug err (let ((fn (car (car l)))) (dired-delete-file fn dired-recursive-deletes trash) ;; if we get here, removing worked @@ -3143,7 +3143,7 @@ dired-internal-do-deletions #'dired-delete-entry fn)) (quit (throw '--delete-cancel (message "OK, canceled"))) (error ;; catch errors from failed deletions - (dired-log "%s\n" err) + (dired-log "%s: %s\n" (car err) (error-message-string err)) (setq failures (cons (car (car l)) failures))))) (setq l (cdr l))) (if (not failures) -- 2.11.0