changeset 68090:9b341a563aea

(rmail-summary-by-topic): Use rmail-current-subject and rmail-current-subject-regexp. (rmail-summary-next-same-subject): Ditto.
author Alex Schroeder <alex@gnu.org>
date Sun, 08 Jan 2006 15:17:45 +0000
parents ea1d1e880b26
children 17b9be3ce6af
files lisp/mail/rmailsum.el
diffstat 1 files changed, 14 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mail/rmailsum.el	Sun Jan 08 13:02:36 2006 +0000
+++ b/lisp/mail/rmailsum.el	Sun Jan 08 15:17:45 2006 +0000
@@ -132,7 +132,15 @@
 but if WHOLE-MESSAGE is non-nil (prefix arg given),
  look in the whole message.
 SUBJECT is a string of regexps separated by commas."
-  (interactive "sTopics to summarize by: \nP")
+  (interactive
+   (let* ((subject (with-current-buffer rmail-buffer
+		     (rmail-current-subject)))
+	  (subject-re (with-current-buffer rmail-buffer
+			(rmail-current-subject-regexp)))
+	  (prompt (concat "Topics to summarize by (regexp"
+			  (if subject ", default current subject" "")
+			  "): ")))
+     (list (read-string prompt nil nil subject) current-prefix-arg)))
   (rmail-new-summary
    (concat "about " subject)
    (list 'rmail-summary-by-topic subject whole-message)
@@ -568,17 +576,11 @@
 With prefix argument N, do this N times.
 If N is negative, go backwards."
   (interactive "p")
-  (let (subject search-regexp  i found
-	(forward (> n 0)))
-    (save-excursion
-      (set-buffer rmail-buffer)
-      (setq subject (mail-fetch-field "Subject"))
-      (setq i rmail-current-message))
-    (if (string-match "Re:[ \t]*" subject)
-	(setq subject (substring subject (match-end 0))))
-    (setq search-regexp (concat "^Subject: *\\(Re: *\\)?"
-				(regexp-quote subject)
-				"\n"))
+  (let ((forward (> n 0))
+	search-regexp i found)
+    (with-current-buffer rmail-buffer
+      (setq search-regexp (rmail-current-subject-regexp)
+	    i rmail-current-message))
     (save-excursion
       (while (and (/= n 0)
 		  (if forward