diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2016-02-13 18:45:11 +1100 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2016-02-13 18:45:11 +1100 |
commit | 3982245371c0b8e17b4d96d16ed4b1d87c0ffc25 (patch) | |
tree | 8d2c79557f8a68e2460bc43aeb028e82ce3aafc5 /lisp/gnus/gnus-group.el | |
parent | ca5f9c97e6c78c1816ac4422736cf2bd7fdbb80b (diff) | |
download | emacs-3982245371c0b8e17b4d96d16ed4b1d87c0ffc25.tar.gz |
Sort groups before inserting them into the group buffer
* lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
Sort groups before inserting them.
Diffstat (limited to 'lisp/gnus/gnus-group.el')
-rw-r--r-- | lisp/gnus/gnus-group.el | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index aaf63983f6b..0cbaaf01f5c 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el @@ -4117,22 +4117,23 @@ If DONT-SCAN is non-nil, scan non-activated groups as well." (gnus-read-all-descriptions-files))) (error "Couldn't request descriptions file")) (let ((buffer-read-only nil) - b) - (erase-buffer) + b groups) (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)))) - (add-text-properties - b (1+ b) (list 'gnus-group group - 'gnus-unread t 'gnus-marked nil - 'gnus-level (1+ gnus-level-subscribed)))) + (push (symbol-name group) groups)) gnus-description-hashtb) + (setq groups (sort groups 'string<)) + (erase-buffer) + (dolist (group groups) + (setq b (point)) + (let ((charset (gnus-group-name-charset nil group))) + (insert (format " *: %-20s %s\n" + (gnus-group-name-decode group charset) + (gnus-group-name-decode group charset)))) + (add-text-properties + b (1+ b) (list 'gnus-group (intern group gnus-description-hashtb) + 'gnus-unread t 'gnus-marked nil + 'gnus-level (1+ gnus-level-subscribed)))) (goto-char (point-min)) (gnus-group-position-point))) |