Commit 5842e489 authored by Richard Stallman's avatar Richard Stallman

Merge branch 'master' of

parents 4e23cd0c fdc52195
......@@ -11,6 +11,11 @@
* net/browse-url.el (browse-url-firefox-program): Prefer IceCat, doc.
(browse-url-firefox-startup-arguments): Doc fix.
2015-04-05 Artur Malabarba <>
* emacs-lisp/package.el: Add package-initialize to user-init-file.
(package--ensure-init-file): New function.
(package-install, package-install-from-buffer): Use it.
2015-04-05 Pete Williamson <> (tiny-change)
......@@ -28,6 +33,9 @@
`package-archives' to `package--downloads-in-progress' instead of
overwriting it.
(package--with-work-buffer-async): Protect macro arguments.
(package--download-and-read-archives): Prevent
downloads-in-progress list from becoming outdated.
2015-04-04 Michael Albinus <>
......@@ -1397,8 +1397,12 @@ similar to an entry in `package-alist'. Save the cached copy to
;; If we care, check it (perhaps async) and *then* write the file.
location file content async
;; This function will be called after signature checking.
(lambda (&optional good-sigs)
(unless (or good-sigs (eq package-check-signature 'allow-unsigned))
;; Even if the sig fails, this download is done, so
;; remove it from the in-progress list.
(package--update-downloads-in-progress archive)
(error "Unsigned archive `%s'" name))
;; Write out the archives file.
(write-region content nil local-file nil 'silent)
......@@ -1419,7 +1423,11 @@ perform the downloads asynchronously."
(dolist (archive package-archives)
(condition-case-unless-debug nil
(package--download-one-archive archive "archive-contents" async)
archive "archive-contents"
;; Called if the async download fails
(when async
(lambda () (package--update-downloads-in-progress archive))))
(error (message "Failed to download `%s' archive."
(car archive))))))
......@@ -1715,6 +1723,30 @@ PACKAGES are satisfied, i.e. that PACKAGES is computed
using `package-compute-transaction'."
(mapc #'package-install-from-archive packages))
(defun package--ensure-init-file ()
"Ensure that the user's init file calls `package-initialize'."
;; Don't mess with the init-file from "emacs -Q".
(when user-init-file
(let ((buffer (find-buffer-visiting user-init-file)))
(with-current-buffer (or buffer (find-file-noselect user-init-file))
(goto-char (point-min))
(unless (search-forward "(package-initialize)" nil 'noerror)
(goto-char (point-min))
";; Added by Package.el. This must come before configurations of\n"
";; installed packages. Don't delete this line. If you don't want it,\n"
";; just comment it out by adding a semicolon to the start of the line.\n"
(unless (looking-at-p "$")
(insert "\n"))
(let ((file-precious-flag t))
(unless buffer
(kill-buffer (current-buffer)))))))))
(defun package-install (pkg &optional dont-select)
"Install the package PKG.
......@@ -1743,6 +1775,7 @@ to install it but still mark it as selected."
nil t))
(let ((name (if (package-desc-p pkg)
(package-desc-name pkg)
......@@ -1786,6 +1819,7 @@ is derived from the main .el file in the directory.
Downloads and installs required packages as needed."
(let* ((pkg-desc
((derived-mode-p 'dired-mode)
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