all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#25340: Save-some-buffers gets called when installing packages.
@ 2017-01-02 22:42 Nikolay Kudryavtsev
  2017-01-05  4:35 ` npostavs
  2017-03-04 11:25 ` Andreas Politz
  0 siblings, 2 replies; 16+ messages in thread
From: Nikolay Kudryavtsev @ 2017-01-02 22:42 UTC (permalink / raw)
  To: 25340

[-- Attachment #1: Type: text/plain, Size: 341 bytes --]

Every time you install a new package you get called to save your 
modified buffers one by one. So, whenever I update my packages I can get 
like 30 packages and I have to press q at least 30 times. This behavior 
is pointless and somewhat annoying.

I've attached the laziest possible patch for this.

-- 
Best Regards,
Nikolay Kudryavtsev


[-- Attachment #2: 0001-Prevent-package-install-from-asking-to-save-buffers.patch --]
[-- Type: text/plain, Size: 3619 bytes --]

From c5669776b1abec979249ff9218ba8251500fc704 Mon Sep 17 00:00:00 2001
From: Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
Date: Tue, 3 Jan 2017 01:21:19 +0300
Subject: [PATCH] Prevent package-install from asking to save buffers

 * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): New argument
 `ignore-modified-buffers' that prevents `save-some-buffers' from getting
 called.
 * doc/lispref/compile.texi: Documented `ignore-modified-buffers' argument
 of `byte-recompile-directory'.
 * lisp/emacs-lisp/package.el (package--compile): Use
 `ignore-modified-buffers' when calling `byte-recompile-directory'.
---
 doc/lispref/compile.texi    |  6 +++++-
 lisp/emacs-lisp/bytecomp.el | 10 +++++++---
 lisp/emacs-lisp/package.el  |  2 +-
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index b1cc04b..239d7ee 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -198,7 +198,7 @@ Compilation Functions
 @end example
 @end deffn

-@deffn Command byte-recompile-directory directory &optional flag force
+@deffn Command byte-recompile-directory directory &optional flag force ignore-modified-buffers
 @cindex library compilation
 This command recompiles every @samp{.el} file in @var{directory} (or
 its subdirectories) that needs recompilation.  A file needs
@@ -217,6 +217,10 @@ Compilation Functions
 If @var{force} is non-@code{nil}, this command recompiles every
 @samp{.el} file that has a @samp{.elc} file.

+If @var{ignore-modified-buffers} is non-@code{nil}, this command avoids
+saving modified buffers before compilation. Otherwise
+@code{save-some-buffers} is called.
+
 The returned value is unpredictable.
 @end deffn

diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 63be7e2..fda25ae 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -1621,7 +1621,7 @@ byte-force-recompile
   (byte-recompile-directory directory nil t))

 ;;;###autoload
-(defun byte-recompile-directory (directory &optional arg force)
+(defun byte-recompile-directory (directory &optional arg force ignore-modified-buffers)
   "Recompile every `.el' file in DIRECTORY that needs recompilation.
 This happens when a `.elc' file exists but is older than the `.el' file.
 Files in subdirectories of DIRECTORY are processed also.
@@ -1634,12 +1634,16 @@ byte-recompile-directory
 before scanning it.

 If the third argument FORCE is non-nil, recompile every `.el' file
-that already has a `.elc' file."
+that already has a `.elc' file.
+
+If forth argument IGNORE-MODIFIED-BUFFERS is non-nil, do not try to save
+modified buffers before compilation."
   (interactive "DByte recompile directory: \nP")
   (if arg (setq arg (prefix-numeric-value arg)))
   (if noninteractive
       nil
-    (save-some-buffers)
+    (when (not ignore-modified-buffers)
+        (save-some-buffers))
     (force-mode-line-update))
   (with-current-buffer (get-buffer-create byte-compile-log-buffer)
     (setq default-directory (expand-file-name directory))
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 6728f1b..0851c5e 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -946,7 +946,7 @@ package--compile
   (let ((warning-minimum-level :error)
         (save-silently inhibit-message)
         (load-path load-path))
-    (byte-recompile-directory (package-desc-dir pkg-desc) 0 t)))
+    (byte-recompile-directory (package-desc-dir pkg-desc) 0 t t)))

 ;;;; Inferring package from current buffer
 (defun package-read-from-string (str)
--
2.10.2.windows.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2017-03-18  6:55 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-02 22:42 bug#25340: Save-some-buffers gets called when installing packages Nikolay Kudryavtsev
2017-01-05  4:35 ` npostavs
2017-01-05  6:26   ` Nikolay Kudryavtsev
2017-01-06  2:31     ` npostavs
2017-01-07 18:06       ` Nikolay Kudryavtsev
2017-01-07 18:47         ` npostavs
2017-01-08  4:56           ` Nikolay Kudryavtsev
2017-01-08  5:33         ` npostavs
2017-01-08  8:06           ` Nikolay Kudryavtsev
2017-01-08 17:03             ` npostavs
     [not found]               ` <aa6168cc-d8eb-2c1c-70af-a63aed862b75@gmail.com>
2017-01-09 15:33                 ` bug#25340: Fwd: " Noam Postavsky
2017-01-16  1:09                   ` npostavs
2017-03-18  6:55                   ` Tino Calancha
2017-03-04 10:18       ` Andreas Politz
2017-03-04 14:47         ` npostavs
2017-03-04 11:25 ` Andreas Politz

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.