emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/marginalia 459f230e88: marginalia-annotate-package: Han


From: ELPA Syncer
Subject: [elpa] externals/marginalia 459f230e88: marginalia-annotate-package: Handle multiple installed package versions
Date: Wed, 12 Oct 2022 05:57:53 -0400 (EDT)

branch: externals/marginalia
commit 459f230e8859fda206914d081e71f2a114768c20
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    marginalia-annotate-package: Handle multiple installed package versions
---
 marginalia.el | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/marginalia.el b/marginalia.el
index 6e4a73e439..b72af335a0 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -704,9 +704,15 @@ keybinding since CAND includes it."
 (defun marginalia-annotate-package (cand)
   "Annotate package CAND with its description summary."
   (when-let* ((pkg-alist (bound-and-true-p package-alist))
-              (pkg (intern-soft (replace-regexp-in-string 
"-[[:digit:]\\.-]+\\'" "" cand)))
-              ;; taken from `describe-package-1'
-              (desc (or (car (alist-get pkg pkg-alist))
+              (name (replace-regexp-in-string "-[0-9\\.-]+\\'" "" cand))
+              (pkg (intern-soft name))
+              (desc (or (unless (equal name cand)
+                          (cl-loop with version = (substring cand (1+ (length 
name)))
+                                   for d in (alist-get pkg pkg-alist)
+                                   if (equal (package-version-join 
(package-desc-version d)) version)
+                                   return d))
+                        ;; taken from `describe-package-1'
+                        (car (alist-get pkg pkg-alist))
                         (if-let (built-in (assq pkg package--builtins))
                             (package--from-builtin built-in)
                           (car (alist-get pkg package-archive-contents))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]