Function: archive-expunge
archive-expunge is an interactive and byte-compiled function defined
in arc-mode.el.gz.
Signature
(archive-expunge)
Documentation
Do the flagged deletions.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/arc-mode.el.gz
(defun archive-expunge ()
"Do the flagged deletions."
(interactive)
(let (files)
(save-excursion
(goto-char archive-file-list-start)
(while (< (point) archive-file-list-end)
(if (= (following-char) ?D)
(setq files (cons (archive--file-desc-ext-file-name
(archive-get-descr))
files)))
(forward-line 1)))
(setq files (nreverse files))
(and files
(or (not archive-read-only)
(error "Archive is read-only"))
(or (yes-or-no-p (format "Really delete %d member%s? "
(length files)
(if (null (cdr files)) "" "s")))
(error "Operation aborted"))
(let ((archive (archive-maybe-copy (buffer-file-name)))
(expunger (archive-name "expunge")))
(if (fboundp expunger)
(funcall expunger archive files)
(archive-*-expunge archive files (symbol-value expunger)))
(archive-maybe-update nil)
(if archive-remote
(archive-resummarize)
(revert-buffer))))))