1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

(rmail-next-same-subject): Handle multiple "Re: " strings and long subject

lines that were broken into multiple lines at arbitrary places.
This commit is contained in:
Eli Zaretskii 2005-12-10 11:30:33 +00:00
parent d9f9aa720f
commit 7c86d70e27
2 changed files with 15 additions and 4 deletions

View file

@ -3155,13 +3155,18 @@ If N is negative, go backwards instead."
search-regexp found)
(if (string-match "\\`[ \t]+" subject)
(setq subject (substring subject (match-end 0))))
(if (string-match "Re:[ \t]*" subject)
(if (string-match "\\`\\(Re:[ \t]*\\)+" subject)
(setq subject (substring subject (match-end 0))))
(if (string-match "[ \t]+\\'" subject)
(setq subject (substring subject 0 (match-beginning 0))))
(setq search-regexp (concat "^Subject: *\\(Re:[ \t]*\\)?"
(regexp-quote subject)
"[ \t]*\n"))
;; If Subject is long, mailers will break it into several lines at
;; arbitrary places, so replace whitespace with a regexp that will
;; match any sequence of spaces, TABs, and newlines.
(setq subject (regexp-quote subject))
(setq subject
(replace-regexp-in-string "[ \t\n]+" "[ \t\n]+" subject t t))
(setq search-regexp (concat "^Subject: *\\(Re:[ \t]*\\)*"
subject "[ \t]*\n"))
(save-excursion
(save-restriction
(widen)