aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Willemse2013-12-14 11:02:39 -0500
committerStefan Monnier2013-12-14 11:02:39 -0500
commitf77d7d1773e2100fae8dce2e0f6bfe352c789bcf (patch)
tree6b8aab9323c00b577229e4ea90011cff1e452596
parentaa2bddd73d8359ad944fde7c424d2d89c0ccf0d9 (diff)
downloademacs-f77d7d1773e2100fae8dce2e0f6bfe352c789bcf.tar.gz
emacs-f77d7d1773e2100fae8dce2e0f6bfe352c789bcf.zip
* lisp/emacs-lisp/package.el (package--prepare-dependencies): New function.
(package-buffer-info): Use it. Fixes: debbugs:15108
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/emacs-lisp/package.el21
2 files changed, 24 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 129dde734ab..8725bc401c5 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,4 +1,7 @@
12013-12-14 Stefan Monnier <monnier@iro.umontreal.ca> 12013-12-14 Tom Willemse <tom@ryuslash.org> (tiny change)
2
3 * emacs-lisp/package.el (package--prepare-dependencies): New function.
4 (package-buffer-info): Use it (bug#15108).
2 5
3 * icomplete.el (icomplete-completions): Make sure the prefix is already 6 * icomplete.el (icomplete-completions): Make sure the prefix is already
4 displayed elsewhere before hiding it. 7 displayed elsewhere before hiding it.
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 34aa2b62105..b8c21e0386b 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1104,6 +1104,23 @@ Otherwise return nil."
1104 1104
1105(declare-function lm-homepage "lisp-mnt" (&optional file)) 1105(declare-function lm-homepage "lisp-mnt" (&optional file))
1106 1106
1107(defun package--prepare-dependencies (deps)
1108 "Turn DEPS into an acceptable list of dependencies.
1109
1110Any parts missing a version string get a default version string
1111of \"0\" (meaning any version) and an appropriate level of lists
1112is wrapped around any parts requiring it."
1113 (cond
1114 ((not (listp deps))
1115 (error "Invalid requirement specifier: %S" deps))
1116 (t (mapcar (lambda (dep)
1117 (cond
1118 ((symbolp dep) `(,dep "0"))
1119 ((stringp dep)
1120 (error "Invalid requirement specifier: %S" dep))
1121 (t dep)))
1122 deps))))
1123
1107(defun package-buffer-info () 1124(defun package-buffer-info ()
1108 "Return a `package-desc' describing the package in the current buffer. 1125 "Return a `package-desc' describing the package in the current buffer.
1109 1126
@@ -1135,7 +1152,9 @@ boundaries."
1135 "Package lacks a \"Version\" or \"Package-Version\" header")) 1152 "Package lacks a \"Version\" or \"Package-Version\" header"))
1136 (package-desc-from-define 1153 (package-desc-from-define
1137 file-name pkg-version desc 1154 file-name pkg-version desc
1138 (if requires-str (package-read-from-string requires-str)) 1155 (if requires-str
1156 (package--prepare-dependencies
1157 (package-read-from-string requires-str)))
1139 :kind 'single 1158 :kind 'single
1140 :url homepage)))) 1159 :url homepage))))
1141 1160