aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2020-12-12 11:50:00 -0500
committerStefan Monnier2020-12-12 11:50:00 -0500
commitb1f2eada47adda8349e6f1ef55dfd7a3ed60e6aa (patch)
treebb2416692c285937de8e816f53ed4addcc6ca518
parent8eee54d23adfbd723805851e3904ec21294788ed (diff)
downloademacs-b1f2eada47adda8349e6f1ef55dfd7a3ed60e6aa.tar.gz
emacs-b1f2eada47adda8349e6f1ef55dfd7a3ed60e6aa.zip
* lisp/emacs-lisp/package.el (package-buffer-info): Improve error message
(package-strip-rcs-id): Return canonicalized version string.
-rw-r--r--lisp/emacs-lisp/package.el16
1 files changed, 10 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 9c37ce429a7..b7c48dfd3f5 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1115,14 +1115,15 @@ boundaries."
1115 ;; Use some headers we've invented to drive the process. 1115 ;; Use some headers we've invented to drive the process.
1116 (let* (;; Prefer Package-Version; if defined, the package author 1116 (let* (;; Prefer Package-Version; if defined, the package author
1117 ;; probably wants us to use it. Otherwise try Version. 1117 ;; probably wants us to use it. Otherwise try Version.
1118 (pkg-version 1118 (version-info
1119 (or (package-strip-rcs-id (lm-header "package-version")) 1119 (or (lm-header "package-version") (lm-header "version")))
1120 (package-strip-rcs-id (lm-header "version")))) 1120 (pkg-version (package-strip-rcs-id version-info))
1121 (keywords (lm-keywords-list)) 1121 (keywords (lm-keywords-list))
1122 (homepage (lm-homepage))) 1122 (homepage (lm-homepage)))
1123 (unless pkg-version 1123 (unless pkg-version
1124 (error 1124 (if version-info
1125 "Package lacks a \"Version\" or \"Package-Version\" header")) 1125 (error "Unrecognized package version: %s" version-info)
1126 (error "Package lacks a \"Version\" or \"Package-Version\" header")))
1126 (package-desc-from-define 1127 (package-desc-from-define
1127 file-name pkg-version desc 1128 file-name pkg-version desc
1128 (and-let* ((require-lines (lm-header-multiline "package-requires"))) 1129 (and-let* ((require-lines (lm-header-multiline "package-requires")))
@@ -2112,7 +2113,10 @@ Otherwise return nil."
2112 (when str 2113 (when str
2113 (when (string-match "\\`[ \t]*[$]Revision:[ \t]+" str) 2114 (when (string-match "\\`[ \t]*[$]Revision:[ \t]+" str)
2114 (setq str (substring str (match-end 0)))) 2115 (setq str (substring str (match-end 0))))
2115 (if (version-to-list str) str))) 2116 (let ((l (version-to-list str)))
2117 ;; Don't return `str' but (package-version-join (version-to-list str))
2118 ;; to make sure we use a "canonical name"!
2119 (if l (package-version-join l)))))
2116 2120
2117(declare-function lm-homepage "lisp-mnt" (&optional file)) 2121(declare-function lm-homepage "lisp-mnt" (&optional file))
2118 2122