[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 5842e48 5/5: Merge branch 'master' of git.sv.gnu.or
From: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] master 5842e48 5/5: Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs |
Date: |
Sun, 05 Apr 2015 12:43:28 +0000 |
branch: master
commit 5842e489eef061766a747e26ca81e1ef6e2ece5a
Merge: 4e23cd0 fdc5219
Author: Richard Stallman <address@hidden>
Commit: Richard Stallman <address@hidden>
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Conflicts:
lisp/ChangeLog
---
lisp/ChangeLog | 8 ++++++++
lisp/emacs-lisp/package.el | 36 +++++++++++++++++++++++++++++++++++-
2 files changed, 43 insertions(+), 1 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f6a79c7..33e1456 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -11,6 +11,11 @@
* net/browse-url.el (browse-url-firefox-program): Prefer IceCat, doc.
(browse-url-firefox-arguments)
(browse-url-firefox-startup-arguments): Doc fix.
+2015-04-05 Artur Malabarba <address@hidden>
+
+ * 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 <address@hidden> (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-one-archive)
+ (package--download-and-read-archives): Prevent
+ downloads-in-progress list from becoming outdated.
2015-04-04 Michael Albinus <address@hidden>
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 32a3e01..1880270 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -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.
(package--check-signature
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."
package--downloads-in-progress))
(dolist (archive package-archives)
(condition-case-unless-debug nil
- (package--download-one-archive archive "archive-contents" async)
+ (package--download-one-archive
+ 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))
+ (save-excursion
+ (save-restriction
+ (widen)
+ (goto-char (point-min))
+ (unless (search-forward "(package-initialize)" nil 'noerror)
+ (goto-char (point-min))
+ (insert
+ ";; 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"
+ "(package-initialize)\n")
+ (unless (looking-at-p "$")
+ (insert "\n"))
+ (let ((file-precious-flag t))
+ (save-buffer)))
+ (unless buffer
+ (kill-buffer (current-buffer)))))))))
+
;;;###autoload
(defun package-install (pkg &optional dont-select)
"Install the package PKG.
@@ -1743,6 +1775,7 @@ to install it but still mark it as selected."
package-archive-contents))
nil t))
nil)))
+ (package--ensure-init-file)
(let ((name (if (package-desc-p pkg)
(package-desc-name pkg)
pkg)))
@@ -1786,6 +1819,7 @@ is derived from the main .el file in the directory.
Downloads and installs required packages as needed."
(interactive)
+ (package--ensure-init-file)
(let* ((pkg-desc
(cond
((derived-mode-p 'dired-mode)
- [Emacs-diffs] master updated (fdc5219 -> 5842e48), Richard M. Stallman, 2015/04/05
- [Emacs-diffs] master 414e79f 1/5: Prefer IceCat to Firefox and Iceweasel., Richard M. Stallman, 2015/04/05
- [Emacs-diffs] master 1a80be1 2/5: Echo area shows when displaying a mime message., Richard M. Stallman, 2015/04/05
- [Emacs-diffs] master dca743f 3/5: Recognize more format variation. Automatically reshow decrypted text., Richard M. Stallman, 2015/04/05
- [Emacs-diffs] master 5842e48 5/5: Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs,
Richard M. Stallman <=
- [Emacs-diffs] master 4e23cd0 4/5: * mail/rmail.el (rmail-show-message-1): When displaying a mime message,, Richard M. Stallman, 2015/04/05