emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r115524: * lisp/emacs-lisp/package.el (package--prep


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r115524: * lisp/emacs-lisp/package.el (package--prepare-dependencies): New function.
Date: Sat, 14 Dec 2013 16:02:45 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 115524
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15108
author: Tom Willemse <address@hidden>
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Sat 2013-12-14 11:02:39 -0500
message:
  * lisp/emacs-lisp/package.el (package--prepare-dependencies): New function.
  (package-buffer-info): 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    2013-12-14 14:24:36 +0000
+++ b/lisp/ChangeLog    2013-12-14 16:02:39 +0000
@@ -1,4 +1,7 @@
-2013-12-14  Stefan Monnier  <address@hidden>
+2013-12-14  Tom Willemse  <address@hidden>  (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.

=== modified file 'lisp/emacs-lisp/package.el'
--- a/lisp/emacs-lisp/package.el        2013-12-11 21:15:12 +0000
+++ b/lisp/emacs-lisp/package.el        2013-12-14 16:02:39 +0000
@@ -1104,6 +1104,23 @@
 
 (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 @@
         "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))))
 


reply via email to

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