From b0df8b953533b67ffba27879b64faab65c7642a6 Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Wed, 21 May 2014 05:14:38 +0300 Subject: [PATCH] Replace uses of `save-buffer' with `write-region' * lisp/emacs-lisp/package.el (package--download-one-archive): Use `write-region' instead of `save-buffer' to avoid running various hooks. (describe-package-1): Same. Insert newline at the end of the buffer if appropriate. Fixes: debbugs:17155 --- lisp/ChangeLog | 8 ++++++++ lisp/emacs-lisp/package.el | 17 ++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2c96eeadfb7..6f70c04d2ab 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2014-05-21 Dmitry Gutov + + * emacs-lisp/package.el (package--download-one-archive): Use + `write-region' instead of `save-buffer' to avoid running various + hooks. (Bug#17155) + (describe-package-1): Same. Insert newline at the end of the + buffer if appropriate. + 2014-05-20 Juri Linkov * avoid.el (mouse-avoidance-set-mouse-position): Don't raise frame. diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index c194e1352ac..8b5c742d4cc 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -1254,10 +1254,7 @@ similar to an entry in `package-alist'. Save the cached copy to ;; may fetch a URL redirect page). (when (listp (read (current-buffer))) (make-directory dir t) - (setq buffer-file-name (expand-file-name file dir)) - (let ((version-control 'never) - (require-final-newline nil)) - (save-buffer)))) + (write-region nil nil (expand-file-name file dir) nil 'silent))) (when good-signatures ;; Write out good signatures into archive-contents.signed file. (write-region (mapconcat #'epg-signature-to-string good-signatures "\n") @@ -1503,11 +1500,13 @@ If optional arg NO-ACTIVATE is non-nil, don't activate packages." (package--with-work-buffer (package-archive-base desc) (format "%s-readme.txt" name) - (setq buffer-file-name - (expand-file-name readme package-user-dir)) - (let ((version-control 'never) - (require-final-newline t)) - (save-buffer)) + (save-excursion + (goto-char (point-max)) + (unless (bolp) + (insert ?\n))) + (write-region nil nil + (expand-file-name readme package-user-dir) + nil 'silent) (setq readme-string (buffer-string)) t)) (error nil)) -- 2.39.5