Browse Source

org-attach.el: Use `force' arg everywhere in `org-attach-delete-all'

* lisp/org-attach.el (org-attach-delete-all): Use `force' arg
throughout function.

`org-attach-delete-all` advertised a `force` option but passing it
only forced its way past the initial "Really remove all…" query.  This
was unexpected and not properly documented.

This extends the use of the `force` argument to the `delete-directory`
call and documents its meaning in the docstring.

TINYCHANGE
Tim Visher 5 years ago
parent
commit
70c1eec559
1 changed files with 7 additions and 2 deletions
  1. 7 2
      lisp/org-attach.el

+ 7 - 2
lisp/org-attach.el

@@ -568,13 +568,18 @@ The attachment is created as an Emacs buffer."
 (defun org-attach-delete-all (&optional force)
 (defun org-attach-delete-all (&optional force)
   "Delete all attachments from the current outline node.
   "Delete all attachments from the current outline node.
 This actually deletes the entire attachment directory.
 This actually deletes the entire attachment directory.
-A safer way is to open the directory in dired and delete from there."
+A safer way is to open the directory in dired and delete from there.
+
+With prefix argument FORCE, directory will be recursively deleted
+with no prompts."
   (interactive "P")
   (interactive "P")
   (let ((attach-dir (org-attach-dir)))
   (let ((attach-dir (org-attach-dir)))
     (when (and attach-dir
     (when (and attach-dir
 	       (or force
 	       (or force
 		   (yes-or-no-p "Really remove all attachments of this entry? ")))
 		   (yes-or-no-p "Really remove all attachments of this entry? ")))
-      (delete-directory attach-dir (yes-or-no-p "Recursive?") t)
+      (delete-directory attach-dir
+			(or force (yes-or-no-p "Recursive?"))
+			t)
       (message "Attachment directory removed")
       (message "Attachment directory removed")
       (run-hook-with-args 'org-attach-after-change-hook attach-dir)
       (run-hook-with-args 'org-attach-after-change-hook attach-dir)
       (org-attach-untag))))
       (org-attach-untag))))