Function: gnus-execute-1
gnus-execute-1 is a byte-compiled function defined in gnus-kill.el.gz.
Signature
(gnus-execute-1 FUNCTION REGEXP FORM HEADER)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-kill.el.gz
(defun gnus-execute-1 (function regexp form header)
(save-excursion
(let (did-kill)
(if (null header)
nil ;Nothing to do.
(if function
;; Compare with header field.
(let (value)
(and header
(progn
(setq value (funcall function header))
;; Number (Lines:) or symbol must be converted to string.
(unless (stringp value)
(setq value (gnus-prin1-to-string value)))
(setq did-kill (string-match regexp value)))
(cond ((stringp form) ;Keyboard macro.
(execute-kbd-macro form))
((functionp form)
(funcall form))
(t
(eval form t)))))
;; Search article body.
(let ((gnus-current-article nil) ;Save article pointer.
(gnus-last-article nil)
(gnus-break-pages nil) ;No need to break pages.
(gnus-mark-article-hook nil)) ;Inhibit marking as read.
(gnus-message
6 "Searching for article: %d..." (mail-header-number header))
(gnus-article-setup-buffer)
(gnus-article-prepare (mail-header-number header) t)
(when (with-current-buffer gnus-article-buffer
(goto-char (point-min))
(setq did-kill (re-search-forward regexp nil t)))
(cond ((stringp form) ;Keyboard macro.
(execute-kbd-macro form))
((functionp form)
(funcall form))
(t
(eval form t)))))))
did-kill)))