[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r116030: * lisp/emacs-lisp/package.el (package-desc-
From: |
Dmitry Gutov |
Subject: |
[Emacs-diffs] trunk r116030: * lisp/emacs-lisp/package.el (package-desc-keywords): New function. |
Date: |
Wed, 15 Jan 2014 04:58:34 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 116030
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/16222
committer: Dmitry Gutov <address@hidden>
branch nick: trunk
timestamp: Wed 2014-01-15 06:58:06 +0200
message:
* lisp/emacs-lisp/package.el (package-desc-keywords): New function.
(describe-package-1, package-all-keywords)
(package--has-keyword-p): Use it.
modified:
lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
lisp/emacs-lisp/package.el package.el-20100617020707-ybavz666awsxwin6-2
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2014-01-15 03:06:07 +0000
+++ b/lisp/ChangeLog 2014-01-15 04:58:06 +0000
@@ -1,3 +1,10 @@
+2014-01-15 Dmitry Gutov <address@hidden>
+
+ * emacs-lisp/package.el (package-desc-keywords): New function
+ (Bug#16222).
+ (describe-package-1, package-all-keywords)
+ (package--has-keyword-p): Use it.
+
2014-01-14 Nicolas Richard <address@hidden>
* simple.el (define-alternatives): When creating the
=== modified file 'lisp/emacs-lisp/package.el'
--- a/lisp/emacs-lisp/package.el 2014-01-08 17:39:31 +0000
+++ b/lisp/emacs-lisp/package.el 2014-01-15 04:58:06 +0000
@@ -332,7 +332,10 @@
(unless (memq (car rest-plist) '(:kind :archive))
(let ((value (cadr rest-plist)))
(when value
- (push (cons (car rest-plist) value)
+ (push (cons (car rest-plist)
+ (if (eq (car-safe value) 'quote)
+ (cdr value)
+ value))
alist))))
(setq rest-plist (cddr rest-plist)))
alist)))))
@@ -384,6 +387,12 @@
(`tar ".tar")
(kind (error "Unknown package kind: %s" kind))))
+(defun package-desc-keywords (pkg-desc)
+ (let ((keywords (assoc :keywords (package-desc-extras pkg-desc))))
+ (if (eq (car-safe keywords) 'quote)
+ (cdr keywords)
+ keywords)))
+
;; Package descriptor format used in finder-inf.el and package--builtins.
(cl-defstruct (package--bi-desc
(:constructor package-make-builtin (version summary))
@@ -1378,7 +1387,7 @@
(archive (if desc (package-desc-archive desc)))
(extras (and desc (package-desc-extras desc)))
(homepage (cdr (assoc :url extras)))
- (keywords (cdr (assoc :keywords extras)))
+ (keywords (if desc (package-desc-keywords desc)))
(built-in (eq pkg-dir 'builtin))
(installable (and archive (not built-in)))
(status (if desc (package-desc-status desc) "orphan"))
@@ -1729,7 +1738,7 @@
(let (keywords)
(package--mapc (lambda (desc)
(let* ((extras (and desc (package-desc-extras desc)))
- (desc-keywords (cdr (assoc :keywords extras))))
+ (desc-keywords (and desc (package-desc-keywords
desc))))
(setq keywords (append keywords desc-keywords)))))
keywords))
@@ -1771,7 +1780,7 @@
When none are given, the package matches."
(if keywords
(let* ((extras (and desc (package-desc-extras desc)))
- (desc-keywords (cdr (assoc :keywords extras)))
+ (desc-keywords (and desc (package-desc-keywords desc)))
found)
(dolist (k keywords)
(when (and (not found)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r116030: * lisp/emacs-lisp/package.el (package-desc-keywords): New function.,
Dmitry Gutov <=