aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann <[email protected]>2001-04-26 13:43:42 +0000
committerGerd Moellmann <[email protected]>2001-04-26 13:43:42 +0000
commit7cff9c6f87651a977e752b781a28d9dc459da84a (patch)
treefa27ef67e944b9b4c488be74cc7e16bac6d8bceb
parentba973f7a65e914038247e69c6149d75042215b71 (diff)
(rmail-message-regexp-p): Use rfc822-goto-eoh
if necessary, like in rmail-show-message.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/mail/rmail.el36
2 files changed, 25 insertions, 16 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 06b679a80b..3d42dccf89 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2001-04-26 Gerd Moellmann <[email protected]>
+
+ * mail/rmail.el (rmail-message-regexp-p): Use rfc822-goto-eoh
+ if necessary, like in rmail-show-message.
+
2001-04-26 Vinicius Jose Latorre <[email protected]>
* ps-print.el: Color specified by number is forced to be float number.
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 927ac482bb..8ff2800cda 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -2495,22 +2495,26 @@ or forward if N is negative."
(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)