Commit 063e5294 authored by Chong Yidong's avatar Chong Yidong

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.
parent 26469a38
2010-07-29 Chong Yidong <cyd@stupidchicken.com>
* 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.
2010-07-29 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-handle-start-file-process): Check only for
......
......@@ -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.
......
......@@ -685,7 +685,7 @@ It will move point to somewhere in the headers."
(defun package-download-single (name version desc requires)
"Download and install a single-file package."
(let ((buffer (url-retrieve-synchronously
(concat (package-archive-id name)
(concat (package-archive-url name)
(symbol-name name) "-" version ".el"))))
(with-current-buffer buffer
(package-handle-response)
......@@ -698,7 +698,7 @@ It will move point to somewhere in the headers."
(defun package-download-tar (name version)
"Download and install a tar package."
(let ((tar-buffer (url-retrieve-synchronously
(concat (package-archive-id name)
(concat (package-archive-url name)
(symbol-name name) "-" version ".tar"))))
(with-current-buffer tar-buffer
(package-handle-response)
......@@ -856,7 +856,7 @@ Also, add the originating archive to the end of the package vector."
(defun package-install (name)
"Install the package named NAME.
Interactively, prompt for the package name.
The package is found on one of the archives in `package-archive-base'."
The package is found on one of the archives in `package-archives'."
(interactive
(list (intern (completing-read "Install package: "
(mapcar (lambda (elt)
......@@ -1030,7 +1030,7 @@ The file can either be a tar file or an Emacs Lisp file."
;; FIXME: query user?
'always))
(defun package-archive-id (name)
(defun package-archive-url (name)
"Return the archive containing the package NAME."
(let ((desc (cdr (assq (intern-soft name) package-archive-contents))))
(cdr (assoc (aref desc (- (length desc) 1)) package-archives))))
......@@ -1350,7 +1350,7 @@ For larger packages, shows the README file."
(interactive)
(let* ((pkg-name (package-menu-get-package))
(buffer (url-retrieve-synchronously
(concat (package-archive-id pkg-name)
(concat (package-archive-url pkg-name)
pkg-name
"-readme.txt")))
start-point ok)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment