Function: archive-next-file-displayer
archive-next-file-displayer is a byte-compiled function defined in
arc-mode.el.gz.
Signature
(archive-next-file-displayer FILE REGEXP N)
Documentation
Return a closure to display the next file after FILE that matches REGEXP.
Source Code
;; Defined in /usr/src/emacs/lisp/arc-mode.el.gz
(defun archive-next-file-displayer (file regexp n)
"Return a closure to display the next file after FILE that matches REGEXP."
(let ((short (replace-regexp-in-string "\\`.*:" "" file))
next)
(archive-goto-file short)
(while (and (not next)
;; Stop if we reach the end/start of the buffer.
(if (> n 0)
(not (eobp))
(not (save-excursion
(beginning-of-line)
(bobp)))))
(archive-next-line n)
(when-let* ((descr (archive-get-descr t)))
(let ((candidate (archive--file-desc-ext-file-name descr))
(buffer (current-buffer)))
(when (and candidate
(string-match-p regexp candidate))
(setq next (lambda ()
(kill-buffer (current-buffer))
(switch-to-buffer buffer)
(archive-extract)))))))
(unless next
;; If we didn't find a next/prev file, then restore
;; point.
(archive-goto-file short))
next))