diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2022-06-13 14:20:22 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2022-06-13 14:20:22 +0200 |
commit | 0fdd37c7fbbd0880e569d41bb5ecb9a40f099b00 (patch) | |
tree | 2e963622bed69122932f93448b4dd2a477ff85a1 /lisp/emacs-lisp | |
parent | f8ac290945102f2b59a4474bd4c53ba22db6a076 (diff) | |
download | emacs-0fdd37c7fbbd0880e569d41bb5ecb9a40f099b00.tar.gz emacs-0fdd37c7fbbd0880e569d41bb5ecb9a40f099b00.tar.bz2 emacs-0fdd37c7fbbd0880e569d41bb5ecb9a40f099b00.zip |
Make `/ a' in *Package* filter by name
* lisp/emacs-lisp/package.el (package-menu-filter-by-archive):
Filter by package name instead of by regexp, so that if the user
types "gnu", they won't get "nongnu", too (bug#55919).
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/package.el | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 48551f59b43..9aaeb052d0d 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -3963,16 +3963,14 @@ packages." (mapcar #'car package-archives))) package-menu-mode) (package--ensure-package-menu-mode) - (let ((re (if (listp archive) - (regexp-opt archive) - archive))) - (package-menu--filter-by (lambda (pkg-desc) - (let ((pkg-archive (package-desc-archive pkg-desc))) - (and pkg-archive - (string-match-p re pkg-archive)))) - (concat "archive:" (if (listp archive) - (string-join archive ",") - archive))))) + (let ((archives (ensure-list archive))) + (package-menu--filter-by + (lambda (pkg-desc) + (let ((pkg-archive (package-desc-archive pkg-desc))) + (or (null archives) + (and pkg-archive + (member pkg-archive archives))))) + (concat "archive:" (string-join archives ","))))) (defun package-menu-filter-by-description (description) "Filter the \"*Packages*\" buffer by DESCRIPTION regexp. |