From f77d7d1773e2100fae8dce2e0f6bfe352c789bcf Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Sat, 14 Dec 2013 11:02:39 -0500 Subject: [PATCH] * lisp/emacs-lisp/package.el (package--prepare-dependencies): New function. (package-buffer-info): Use it. Fixes: debbugs:15108 --- lisp/ChangeLog | 5 ++++- 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 @@ -2013-12-14 Stefan Monnier +2013-12-14 Tom Willemse (tiny change) + + * emacs-lisp/package.el (package--prepare-dependencies): New function. + (package-buffer-info): Use it (bug#15108). * icomplete.el (icomplete-completions): Make sure the prefix is already 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." (declare-function lm-homepage "lisp-mnt" (&optional file)) +(defun package--prepare-dependencies (deps) + "Turn DEPS into an acceptable list of dependencies. + +Any parts missing a version string get a default version string +of \"0\" (meaning any version) and an appropriate level of lists +is wrapped around any parts requiring it." + (cond + ((not (listp deps)) + (error "Invalid requirement specifier: %S" deps)) + (t (mapcar (lambda (dep) + (cond + ((symbolp dep) `(,dep "0")) + ((stringp dep) + (error "Invalid requirement specifier: %S" dep)) + (t dep))) + deps)))) + (defun package-buffer-info () "Return a `package-desc' describing the package in the current buffer. @@ -1135,7 +1152,9 @@ boundaries." "Package lacks a \"Version\" or \"Package-Version\" header")) (package-desc-from-define file-name pkg-version desc - (if requires-str (package-read-from-string requires-str)) + (if requires-str + (package--prepare-dependencies + (package-read-from-string requires-str))) :kind 'single :url homepage)))) -- 2.39.2