* [GNUS] Displaying available news-groups, sorted by name
@ 2016-02-12 19:49 Emanuele Santoro
0 siblings, 0 replies; only message in thread
From: Emanuele Santoro @ 2016-02-12 19:49 UTC (permalink / raw
To: help-gnu-emacs
Hi all!
I recently configured Gnus on GNU Emacs 24.4.1 as newsreader. In order
to subscribe to newsgroups, I type M-d, bound to the
gnus-group-describe-all-groups.
The problem is that newsgroups shown are not sorted by name, making
quite anooying to browse.
I tried to edit the gnus-group-describe-all-groups function as follows:
(defun gnus-group-describe-all-groups (&optional force)
"Pop up a buffer with descriptions of all newsgroups."
(interactive "P")
(when force
(setq gnus-description-hashtb nil))
(when (not (or gnus-description-hashtb
(gnus-read-all-descriptions-files)))
(error "Couldn't request descriptions file"))
;; MODIFCATIONS START HERE
;; remove newsgroups with strange names that make sorting fail
(setq gnus-description-hashtb (remove-if 'numberp gnus-description-hashtb))
;; sort the gnus-description-hashtb
(setq gnus-description-hashtb
(cl-sort gnus-description-hashtb (lambda (x y)
(string< (symbol-name y) (symbol-name x)))))
;; MODIFICATIONS END HERE
(let ((buffer-read-only nil)
b)
(erase-buffer)
(mapatoms
(lambda (group)
(setq b (point))
(let ((charset (gnus-group-name-charset nil (symbol-name group))))
(insert (format " *: %-20s %s\n"
(gnus-group-name-decode
(symbol-name group) charset)
(gnus-group-name-decode
(symbol-value group) charset))))
(gnus-add-text-properties
b (1+ b) (list 'gnus-group group
'gnus-unread t 'gnus-marked nil
'gnus-level (1+ gnus-level-subscribed))))
gnus-description-hashtb)
(goto-char (point-min))
(gnus-group-position-point)))
Basically, since gnus-description-hashtb is a vector (not an hash-table
as the name would suggest) of symbol whose name is the name of the
newsgroup, my approach is to sort such vector and then let the mapatoms
function work.
I placed this function in my *scratch* buffer and evaluated it after
loading Gnus, but reloading the newsgroup list shows no effect: the
newsgroup list is still unsorted.
Please note that I am not an expert Lisp programmer nor an expert GNU
Emacs user.
How could I solve this problem?
Thanks in advance,
--
Emanuele Santoro
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2016-02-12 19:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-12 19:49 [GNUS] Displaying available news-groups, sorted by name Emanuele Santoro
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.