+2005-10-29 Sat Jari Aalto <jari dot aalto A T cante dot net>
+
+ * gnus-sum.el (gnus-article-sort-by-date-reverse): New function.
+
+2005-10-29 Jari Aalto <jari aalto A T cante net>
+
+ * score-mode.el (gnus-score-edit-done-hook): Introduce variable.
+ Used in gnus-score.el.
+
2005-10-28 Reiner Steib <Reiner.Steib@gmx.de>
* mm-util.el (mm-codepage-setup): Remove bogus alias test.
(gnus-date-get-time (mail-header-date h1))
(gnus-date-get-time (mail-header-date h2))))
+(defsubst gnus-article-sort-by-date-reverse (h1 h2)
+ "Sort articles in reverse order by root article date."
+ (gnus-article-sort-by-date h2 h1))
+
(defun gnus-thread-sort-by-date (h1 h2)
"Sort threads by root article date."
(gnus-article-sort-by-date
(eval-when-compile (require 'static))
(require 'gnus-util) ; for gnus-pp, gnus-run-mode-hooks
+(defvar gnus-score-edit-done-hook nil
+ "*Hook run at the end of closing the score buffer.")
+
(defvar gnus-score-mode-hook nil
"*Hook run in score mode buffers.")
+2005-10-29 Sat Jari Aalto <jari dot aalto A T cante dot net>
+
+ * gnus.texi (Sorting the Summary Buffer):
+ Added `gnus-thread-sort-by-date-reverse'. Added example
+ host to different sorting in NNTP and RSS groups.
+
2005-10-28 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-coding.texi: Split into nodes.
@findex gnus-thread-sort-by-total-score
@findex gnus-thread-sort-by-date
+@findex gnus-thread-sort-by-date-reverse
@findex gnus-thread-sort-by-score
@findex gnus-thread-sort-by-subject
@findex gnus-thread-sort-by-author
\e$B%G%#%U%)%k%H$G$OJB$YBX$($O5-;vHV9f$K4p$E$$$F9T$J$o$l$^$9!#$9$G$KMQ0U$5$l\e(B
\e$B$F$$$kJB$YBX$(=R8l4X?t$O\e(B @code{gnus-thread-sort-by-number},
@code{gnus-thread-sort-by-author}, @code{gnus-thread-sort-by-recipient},
-@code{gnus-thread-sort-by-subject}, @code{gnus-thread-sort-by-date},
+@code{gnus-thread-sort-by-subject},
+@code{gnus-thread-sort-by-date}, @code{gnus-thread-sort-by-date-reverse},
@code{gnus-thread-sort-by-score},
@code{gnus-thread-sort-by-most-recent-number},
@code{gnus-thread-sort-by-most-recent-date},
gnus-thread-sort-by-score))
@end lisp
+@c TRANSLATEME
+Yet more examples. You can define different sorting to different
+groups. Here is an example for where one @acronym{NNTP} group is
+sorted by subject and the @acronym{RSS} group is sorted by date to see
+the latest news at the top.
+
+@lisp
+(require 'cl)
+
+(defun my-gnus-summary-mode-hook-group-select ()
+ (flet ((lsetq (x val) ;; Local setq
+ (set (make-local-variable x) val)))
+ (cond
+ ;; In Group buffer to make Debian daily news group press: G m
+ ;; and point it to nntp server news.gmane.org and
+ ;; group gmane.linux.debian.user.news
+ ((string-match "nntp.*debian.user.news" gnus-newsgroup-name)
+ (lsetq 'gnus-show-threads nil)
+ (lsetq 'gnus-article-sort-functions 'gnus-article-sort-by-date-reverse)
+ (lsetq 'gnus-use-adaptive-scoring nil)
+ (lsetq 'gnus-use-scoring nil))
+ ;; In Group buffer to read Debian weekly news RSS feed press: G R
+ ;; and point it to url:
+ ;; http://packages.debian.org/unstable/newpkg_main.en.rdf
+ ((string-match "nnrss.*debian" gnus-newsgroup-name)
+ (lsetq 'gnus-show-threads nil)
+ (lsetq 'gnus-article-sort-functions 'gnus-article-sort-by-subject)
+ (lsetq 'gnus-use-adaptive-scoring nil)
+ (lsetq 'gnus-use-scoring t)
+ (lsetq 'gnus-score-find-score-files-function 'gnus-score-find-single)
+ (lsetq 'gnus-summary-line-format "%U%R%z%d %I%(%[ %s %]%)\n")))))
+
+(defun my-gnus-summary-mode-hook ()
+ (my-gnus-summary-mode-hook-group-select))
+@end lisp
+
@vindex gnus-thread-score-function
\e$BJQ?t\e(B @code{gnus-thread-score-function} (\e$B%G%#%U%)%k%H$O\e(B @code{+}) \e$B$K@_Dj\e(B
\e$B$5$l$F$$$k4X?t$O!"%9%l%C%I$NAm%9%3%"$r7W;;$9$k$?$a$KMQ$$$i$l$^$9!#LrN)$D\e(B
@findex gnus-thread-sort-by-total-score
@findex gnus-thread-sort-by-date
+@findex gnus-thread-sort-by-date-reverse
@findex gnus-thread-sort-by-score
@findex gnus-thread-sort-by-subject
@findex gnus-thread-sort-by-author
By default, sorting is done on article numbers. Ready-made sorting
predicate functions include @code{gnus-thread-sort-by-number},
@code{gnus-thread-sort-by-author}, @code{gnus-thread-sort-by-recipient},
-@code{gnus-thread-sort-by-subject}, @code{gnus-thread-sort-by-date},
+@code{gnus-thread-sort-by-subject},
+@code{gnus-thread-sort-by-date}, @code{gnus-thread-sort-by-date-reverse},
@code{gnus-thread-sort-by-score},
@code{gnus-thread-sort-by-most-recent-number},
@code{gnus-thread-sort-by-most-recent-date},
gnus-thread-sort-by-score))
@end lisp
+Yet more examples. You can define different sorting to different
+groups. Here is an example for where one @acronym{NNTP} group is
+sorted by subject and the @acronym{RSS} group is sorted by date to see
+the latest news at the top.
+
+@lisp
+(require 'cl)
+
+(defun my-gnus-summary-mode-hook-group-select ()
+ (flet ((lsetq (x val) ;; Local setq
+ (set (make-local-variable x) val)))
+ (cond
+ ;; In Group buffer to make Debian daily news group press: G m
+ ;; and point it to nntp server news.gmane.org and
+ ;; group gmane.linux.debian.user.news
+ ((string-match "nntp.*debian.user.news" gnus-newsgroup-name)
+ (lsetq 'gnus-show-threads nil)
+ (lsetq 'gnus-article-sort-functions 'gnus-article-sort-by-date-reverse)
+ (lsetq 'gnus-use-adaptive-scoring nil)
+ (lsetq 'gnus-use-scoring nil))
+ ;; In Group buffer to read Debian weekly news RSS feed press: G R
+ ;; and point it to url:
+ ;; http://packages.debian.org/unstable/newpkg_main.en.rdf
+ ((string-match "nnrss.*debian" gnus-newsgroup-name)
+ (lsetq 'gnus-show-threads nil)
+ (lsetq 'gnus-article-sort-functions 'gnus-article-sort-by-subject)
+ (lsetq 'gnus-use-adaptive-scoring nil)
+ (lsetq 'gnus-use-scoring t)
+ (lsetq 'gnus-score-find-score-files-function 'gnus-score-find-single)
+ (lsetq 'gnus-summary-line-format "%U%R%z%d %I%(%[ %s %]%)\n")))))
+
+(defun my-gnus-summary-mode-hook ()
+ (my-gnus-summary-mode-hook-group-select))
+@end lisp
+
@vindex gnus-thread-score-function
The function in the @code{gnus-thread-score-function} variable (default
@code{+}) is used for calculating the total score of a thread. Useful