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 "&quot;" 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.

Reply via email to