Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cwjcc!tut.cis.ohio-state.edu!HPLB.HPL.HP.COM!ange From: ange@HPLB.HPL.HP.COM (Andy Norman) Newsgroups: gnu.emacs.gnus Subject: Re: sorting subjects Message-ID: <8907311608.AA12985@otter.hpl.hp.com> Date: 31 Jul 89 16:07:56 GMT References: Sender: news@tut.cis.ohio-state.edu Reply-To: Andy Norman Organization: The Internet Lines: 34 Actually, on second thoughts, I think I prefer the following version. -- ange -- ange@hplb.hpl.hp.com -------------------------------------------------------------------------------- (setq gnus-Select-group-hook '(lambda () (mapcar (function (lambda (header) (nntp-set-header-subject header (gnus-simplify-subject (gnus-header-subject header) 're-only)))) gnus-newsgroup-headers) (ange-sort-headers))) (defun ange-sort-headers () (let (alist) ;assoc list keyed on subject (mapcar ;sort headers into subject buckets (function (lambda (header) (let ((entry (assoc (nntp-header-subject header) alist))) (if entry (rplacd entry (cons header (cdr entry))) (setq alist (cons (list (nntp-header-subject header) header) alist)))))) gnus-newsgroup-headers) (setq gnus-newsgroup-headers nil) (mapcar ;extract headers from buckets (function (lambda (bucket) (setq gnus-newsgroup-headers (nconc gnus-newsgroup-headers (nreverse (cdr bucket)))))) (nreverse alist))))