(gnus-article-sort-by-recipient, gnus-summary-sort-by-recipient):
authorReiner Steib <Reiner.Steib@gmx.de>
Thu, 2 Dec 2004 22:35:08 +0000 (22:35 +0000)
committerReiner Steib <Reiner.Steib@gmx.de>
Thu, 2 Dec 2004 22:35:08 +0000 (22:35 +0000)
New functions.  Suggested by Uwe Brauer <oub@mat.ucm.es>.
(gnus-summary-mode-map, gnus-summary-make-menu-bar): Add it.

lisp/ChangeLog
lisp/gnus-sum.el

index a8fb31a..eba1464 100644 (file)
@@ -3,6 +3,9 @@
        * gnus-sum.el (gnus-summary-limit-to-recipient): New function.
        Suggested David Mazieres in analogy to rmail-summary-by-recipients.
        (gnus-summary-limit-map, gnus-summary-make-menu-bar): Add it.
+       (gnus-article-sort-by-recipient, gnus-summary-sort-by-recipient):
+       New functions.  Suggested by Uwe Brauer <oub@mat.ucm.es>.
+       (gnus-summary-mode-map, gnus-summary-make-menu-bar): Add it.
 
 2004-12-02  Katsumi Yamaoka  <yamaoka@jpl.org>
 
index 3ac3180..8c5256d 100644 (file)
@@ -1729,6 +1729,7 @@ increase the score of each group you read."
   "\C-c\C-s\C-l" gnus-summary-sort-by-lines
   "\C-c\C-s\C-c" gnus-summary-sort-by-chars
   "\C-c\C-s\C-a" gnus-summary-sort-by-author
+  "\C-c\C-s\C-t" gnus-summary-sort-by-recipient
   "\C-c\C-s\C-s" gnus-summary-sort-by-subject
   "\C-c\C-s\C-d" gnus-summary-sort-by-date
   "\C-c\C-s\C-i" gnus-summary-sort-by-score
@@ -2542,6 +2543,7 @@ gnus-summary-show-article-from-menu-as-charset-%s" cs))))
        ("Sort"
         ["Sort by number" gnus-summary-sort-by-number t]
         ["Sort by author" gnus-summary-sort-by-author t]
+        ["Sort by recipient" gnus-summary-sort-by-recipient t]
         ["Sort by subject" gnus-summary-sort-by-subject t]
         ["Sort by date" gnus-summary-sort-by-date t]
         ["Sort by score" gnus-summary-sort-by-score t]
@@ -4570,6 +4572,18 @@ using some other form will lead to serious barfage."
   (gnus-article-sort-by-author
    (gnus-thread-header h1)  (gnus-thread-header h2)))
 
+(defsubst gnus-article-sort-by-recipient (h1 h2)
+  "Sort articles by recipient."
+  (string-lessp
+   (let ((extract (funcall
+                  gnus-extract-address-components
+                  (or (cdr (assq 'To (mail-header-extra h1))) ""))))
+     (or (car extract) (cadr extract)))
+   (let ((extract (funcall
+                  gnus-extract-address-components
+                  (or (cdr (assq 'To (mail-header-extra h2))) ""))))
+     (or (car extract) (cadr extract)))))
+
 (defsubst gnus-article-sort-by-subject (h1 h2)
   "Sort articles by root subject."
   (string-lessp
@@ -10868,6 +10882,13 @@ Argument REVERSE means reverse order."
   (interactive "P")
   (gnus-summary-sort 'author reverse))
 
+(defun gnus-summary-sort-by-recipient (&optional reverse)
+  "Sort the summary buffer by recipient name alphabetically.
+If `case-fold-search' is non-nil, case of letters is ignored.
+Argument REVERSE means reverse order."
+  (interactive "P")
+  (gnus-summary-sort 'recipient reverse))
+
 (defun gnus-summary-sort-by-subject (&optional reverse)
   "Sort the summary buffer by subject alphabetically.  `Re:'s are ignored.
 If `case-fold-search' is non-nil, case of letters is ignored.