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.
This commit is contained in:
parent
74b63d27a6
commit
03ceee0e64
1 changed files with 17 additions and 24 deletions
|
@ -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)))
|
||||
|
|
Loading…
Add table
Reference in a new issue