diff options
| author | Tom Willemse | 2013-12-14 11:02:39 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2013-12-14 11:02:39 -0500 |
| commit | f77d7d1773e2100fae8dce2e0f6bfe352c789bcf (patch) | |
| tree | 6b8aab9323c00b577229e4ea90011cff1e452596 | |
| parent | aa2bddd73d8359ad944fde7c424d2d89c0ccf0d9 (diff) | |
| download | emacs-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/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/emacs-lisp/package.el | 21 |
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 @@ | |||
| 1 | 2013-12-14 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2013-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 | |||
| 1110 | Any parts missing a version string get a default version string | ||
| 1111 | of \"0\" (meaning any version) and an appropriate level of lists | ||
| 1112 | is 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 | ||