diff options
author | Thomas Fitzsimmons <fitzsim@fitzsim.org> | 2019-08-31 10:48:59 -0400 |
---|---|---|
committer | Thomas Fitzsimmons <fitzsim@fitzsim.org> | 2019-08-31 21:20:00 -0400 |
commit | e8c46c2b6f76cc055366041b6112d61dd5f2dcf4 (patch) | |
tree | 2a097e98a51c5e2d9b106a60d6e9f729c45f7cc4 /lisp/emacs-lisp/package.el | |
parent | fd8346600c3872fa1dfdd1ce6522799ba40d0dc0 (diff) | |
download | emacs-e8c46c2b6f76cc055366041b6112d61dd5f2dcf4.tar.gz emacs-e8c46c2b6f76cc055366041b6112d61dd5f2dcf4.tar.bz2 emacs-e8c46c2b6f76cc055366041b6112d61dd5f2dcf4.zip |
package.el: Allow Package-Requires to span multiple lines (Bug#36301)
* lisp/emacs-lisp/package.el (lm-header-multiline): Declare
function.
(package-buffer-info): Parse Package-Requires with
lm-header-multiline instead of lm-header.
(Bug#36301)
Co-authored-by: Noam Postavsky <npostavs@gmail.com>
Diffstat (limited to 'lisp/emacs-lisp/package.el')
-rw-r--r-- | lisp/emacs-lisp/package.el | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index cd127e1a8e8..ef0c5171de6 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -1028,6 +1028,7 @@ is wrapped around any parts requiring it." deps)))) (declare-function lm-header "lisp-mnt" (header)) +(declare-function lm-header-multiline "lisp-mnt" (header)) (declare-function lm-homepage "lisp-mnt" (&optional file)) (declare-function lm-keywords-list "lisp-mnt" (&optional file)) (declare-function lm-maintainer "lisp-mnt" (&optional file)) @@ -1054,8 +1055,7 @@ boundaries." (narrow-to-region start (point)) (require 'lisp-mnt) ;; Use some headers we've invented to drive the process. - (let* ((requires-str (lm-header "package-requires")) - ;; Prefer Package-Version; if defined, the package author + (let* (;; Prefer Package-Version; if defined, the package author ;; probably wants us to use it. Otherwise try Version. (pkg-version (or (package-strip-rcs-id (lm-header "package-version")) @@ -1067,9 +1067,9 @@ boundaries." "Package lacks a \"Version\" or \"Package-Version\" header")) (package-desc-from-define file-name pkg-version desc - (if requires-str - (package--prepare-dependencies - (package-read-from-string requires-str))) + (and-let* ((require-lines (lm-header-multiline "package-requires"))) + (package--prepare-dependencies + (package-read-from-string (mapconcat #'identity require-lines " ")))) :kind 'single :url homepage :keywords keywords |