branch: externals/package-x commit f4ab9eb5553b251c5efc6ef5ddd84d7c8498f310 Author: Chong Yidong <c...@stupidchicken.com> Commit: Chong Yidong <c...@stupidchicken.com>
Update package-x to latest package.el changes. * emacs-lisp/package-x.el (package--make-rss-entry): (package-maint-add-news-item, package--update-news) (package-upload-buffer-internal): New arg ARCHIVE-URL. * emacs-lisp/package.el (package-archive-url): Rename from package-archive-id. (package-install): Doc fix. (package-download-single, package-download-tar, package-install) (package-menu-view-commentary): Callers changed. --- lisp/emacs-lisp/package-x.el | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/lisp/emacs-lisp/package-x.el b/lisp/emacs-lisp/package-x.el index 21bd7960d8..2a5d84f339 100644 --- a/lisp/emacs-lisp/package-x.el +++ b/lisp/emacs-lisp/package-x.el @@ -56,12 +56,12 @@ (setq string (replace-match """ t nil string))) string) -(defun package--make-rss-entry (title text) +(defun package--make-rss-entry (title text archive-url) (let ((date-string (format-time-string "%a, %d %B %Y %T %z"))) (concat "<item>\n" "<title>" (package--encode title) "</title>\n" ;; FIXME: should have a link in the web page. - "<link>" package-archive-base "news.html</link>\n" + "<link>" archive-url "news.html</link>\n" "<description>" (package--encode text) "</description>\n" "<pubDate>" date-string "</pubDate>\n" "</item>\n"))) @@ -85,7 +85,7 @@ (unless old-buffer (kill-buffer (current-buffer))))))) -(defun package-maint-add-news-item (title description) +(defun package-maint-add-news-item (title description archive-url) "Add a news item to the ELPA web pages. TITLE is the title of the news item. DESCRIPTION is the text of the news item. @@ -93,21 +93,28 @@ You need administrative access to ELPA to use this." (interactive "sTitle: \nsText: ") (package--update-file (concat package-archive-upload-base "elpa.rss") "<description>" - (package--make-rss-entry title description)) + (package--make-rss-entry title description archive-url)) (package--update-file (concat package-archive-upload-base "news.html") "New entries go here" (package--make-html-entry title description))) -(defun package--update-news (package version description) +(defun package--update-news (package version description archive-url) "Update the ELPA web pages when a package is uploaded." (package-maint-add-news-item (concat package " version " version) - description)) + description + archive-url)) -(defun package-upload-buffer-internal (pkg-info extension) +(defun package-upload-buffer-internal (pkg-info extension &optional archive-url) "Upload a package whose contents are in the current buffer. PKG-INFO is the package info, see `package-buffer-info'. EXTENSION is the file extension, a string. It can be either -\"el\" or \"tar\"." +\"el\" or \"tar\". + +Optional arg ARCHIVE-URL is the URL of the destination archive. +If nil, the \"gnu\" archive is used." + (unless archive-url + (or (setq archive-url (cdr (assoc "gnu" package-archives))) + (error "No destination URL"))) (save-excursion (save-restriction (let* ((file-type (cond @@ -127,7 +134,7 @@ EXTENSION is the file extension, a string. It can be either ;; Download latest archive-contents. (buffer (url-retrieve-synchronously - (concat package-archive-base "archive-contents")))) + (concat archive-url "archive-contents")))) ;; Parse archive-contents. (set-buffer buffer) @@ -178,7 +185,7 @@ EXTENSION is the file extension, a string. It can be either ;; Write a news entry. (package--update-news (concat file-name "." extension) - pkg-version desc) + pkg-version desc archive-url) ;; special-case "package": write a second copy so that the ;; installer can easily find the latest version.