Tim Visher <[email protected]> writes: > * 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.
Sounds reasonable to me. > (defun org-attach-delete-all (&optional force) > "Delete all attachments from the current outline node. > 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. > + > +If FORCE is truthy, directory will be recursively deleted with no > +prompts." While I think any reader would know what you meant by "truthy", "non-nil" would be more standard/familiar in the context of elisp docstrings. Or, given this is an interactive command, "With prefix argument FORCE" or something along those lines. > (interactive "P") > (let ((attach-dir (org-attach-dir))) > (when (and attach-dir > (or force > (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) With Emacs 25 or newer and the default font-lock levels, you should see "t)" highlighted with font-lock-warning-face because t is "hidden behind a deeper element". You could fix it by moving t to its own line, but to my eyes keeping the entire delete-directory on a single line would be readable enough. Thanks.
