# HG changeset patch # User Gerd Moellmann # Date 988292572 0 # Node ID 3da588b288908b1597f8e19645efd771b4449df1 # Parent 36a6344d04e30ae8456ec89a2f65fc039d0e222d (rmail-message-regexp-p): Use rfc822-goto-eoh if necessary, like in rmail-show-message. diff -r 36a6344d04e3 -r 3da588b28890 lisp/mail/rmail.el --- a/lisp/mail/rmail.el Thu Apr 26 12:37:43 2001 +0000 +++ b/lisp/mail/rmail.el Thu Apr 26 13:42:52 2001 +0000 @@ -2495,22 +2495,26 @@ (if (not primary-only) (string-match recipients (or (mail-fetch-field "Cc") "")))))) -(defun rmail-message-regexp-p (msg regexp) - "Return t, if for message number MSG, regexp REGEXP matches in the header." - (save-excursion - (goto-char (rmail-msgbeg msg)) - (let (beg end) - (save-excursion - (forward-line 2) - (setq beg (point))) - (save-excursion - (search-forward "\n*** EOOH ***\n" (point-max)) - (when (= beg (match-beginning 0)) - (setq beg (point)) - (search-forward "\n\n" (point-max))) - (setq end (point))) - (goto-char beg) - (re-search-forward regexp end t)))) +(defun rmail-message-regexp-p (n regexp) + "Return t, if for message number N, regexp REGEXP matches in the header." + (let ((beg (rmail-msgbeg n)) + (end (rmail-msgend n))) + (goto-char beg) + (forward-line 1) + (save-excursion + (save-restriction + (if (prog1 (= (following-char) ?0) + (forward-line 2) + ;; If there's a Summary-line in the (otherwise empty) + ;; header, we didn't yet get past the EOOH line. + (if (looking-at "^\\*\\*\\* EOOH \\*\\*\\*\n") + (forward-line 1)) + (narrow-to-region (point) end)) + (rfc822-goto-eoh) + (search-forward "\n*** EOOH ***\n" end t)) + (narrow-to-region beg (point)) + (goto-char (point-min)) + (re-search-forward regexp end t))))) (defvar rmail-search-last-regexp nil) (defun rmail-search (regexp &optional n)