From: Eric Abrahamsen Date: Sun, 31 Mar 2019 16:18:43 +0000 (-0700) Subject: Refactor Gnus group name extraction in group completing read X-Git-Tag: emacs-27.0.90~3281 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=03ceee0e6403052f7367efe1159e3663402c8c1e;p=emacs.git Refactor Gnus group name extraction in group completing read * lisp/gnus/gnus-group.el (gnus-group-completing-read): Only do the unibyte check once; make sure it applies to hash table keys as well. --- diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index bd24c3f8dab..0be38541745 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el @@ -2173,30 +2173,23 @@ Non-ASCII group names are allowed. The arguments are the same as they are omitted. Can handle COLLECTION as a list, hash table, or vector." (or collection (setq collection gnus-active-hashtb)) - (let (choices group) - (cond ((listp collection) - (if (symbolp (car collection)) - (dolist (symbol collection) - (setq group (symbol-name symbol)) - (push (if (string-match "[^\000-\177]" group) - (gnus-group-decoded-name group) - group) - choices)) - (setq choices collection))) - ((vectorp collection) - (mapatoms (lambda (symbol) - (setq group (symbol-name symbol)) - (push (if (string-match "[^\000-\177]" group) - (gnus-group-decoded-name group) - group) - choices)) - collection)) - ((hash-table-p collection) - (setq choices (hash-table-keys collection)))) - (setq group (gnus-completing-read (or prompt "Group") (reverse choices) - require-match initial-input - (or hist 'gnus-group-history) - def)) + (let* ((choices + (mapcar + (lambda (g) + (if (string-match "[^\000-\177]" g) + (gnus-group-decoded-name g) + g)) + (cond ((listp collection) + collection) + ((vectorp collection) + (mapatoms #'symbol-name collection)) + ((hash-table-p collection) + (hash-table-keys collection))))) + (group + (gnus-completing-read (or prompt "Group") (reverse choices) + require-match initial-input + (or hist 'gnus-group-history) + def))) (unless (cond ((and (listp collection) (symbolp (car collection))) (member group (mapcar 'symbol-name collection)))