]> git.eshelyaron.com Git - emacs.git/commitdiff
New M-~ entry in save-some-buffers-action-alist
authorSean Whitton <spwhitton@spwhitton.name>
Thu, 3 Oct 2024 10:36:45 +0000 (18:36 +0800)
committerEshel Yaron <me@eshelyaron.com>
Fri, 4 Oct 2024 10:09:50 +0000 (12:09 +0200)
* lisp/files.el (save-some-buffers-action-alist): New M-~ entry.
(save-some-buffers):
* doc/emacs/files.texi (Save Commands):
* etc/NEWS: Document the new M-~ binding during C-x s.

(cherry picked from commit cc2ad5c2d1508236e79658936e7c7f532ddba586)

doc/emacs/files.texi
etc/NEWS
lisp/files.el

index 460214d72084625bc6f80b0c3379256b844449d2..2bce07497906e7436bf1bceaa8b0459d0c96e0d1 100644 (file)
@@ -479,6 +479,9 @@ Terminate @code{save-some-buffers} without any more saving.
 @item .
 Save this buffer, then exit @code{save-some-buffers} without even asking
 about other buffers.
+@item M-~
+Don't save this buffer, and also mark it as unmodified.
+This is like the @code{not-modified} command (@pxref{Save Commands}).
 @item C-r
 View the buffer that you are currently being asked about.  When you exit
 View mode, you get back to @code{save-some-buffers}, which asks the
index ea1aefe00c1aa5a1f7e7c2cd8070406b826c7a42..151469dc094e1f50c8cd17051a412a504a9f9d73 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -139,6 +139,11 @@ You can now insert or wrap text with multiple sets of parentheses and
 other matching delimiters at once with Electric Pair mode, by providing
 a prefix argument when inserting one of the delimiters.
 
++++
+** You can now use M-~ during C-x s ('save-some-buffers').
+Typing M-~ while saving some buffers means not to save the buffer and
+also to mark it as unmodified.  This is an alternative way to mark a
+buffer as unmodified which doesn't require switching to that buffer.
 \f
 * Changes in Specialized Modes and Packages in Emacs 31.1
 
index be4e637df22e032e304a8181fc31550fa897d80b..a72cbeec19532092b6f4893c59bf65ba08b64774 100644 (file)
@@ -6195,7 +6195,13 @@ Before and after saving the buffer, this function runs
 (defvar save-some-buffers--switch-window-callback nil)
 
 (defvar save-some-buffers-action-alist
-  `((?\C-r
+  `((?\M-~ ,(lambda (buf)
+              (with-current-buffer buf
+                (set-buffer-modified-p nil))
+              ;; Return t not to ask about BUF again.
+              t)
+           ,(purecopy "skip this buffer and mark it unmodified"))
+    (?\C-r
      ,(lambda (buf)
         (view-buffer buf (lambda (_) (exit-recursive-edit)))
         (recursive-edit)
@@ -6296,7 +6302,8 @@ in variables (rather than in buffers).")
 
 (defun save-some-buffers (&optional arg pred)
   "Save some modified file-visiting buffers.  Asks user about each one.
-You can answer \\`y' or \\`SPC' to save, \\`n' or \\`DEL' not to save, \\`C-r'
+You can answer \\`y' or \\`SPC' to save, \\`n' or \\`DEL' not to save,
+\\`M-~' not to save and also mark the buffer as unmodified, \\`C-r'
 to look at the buffer in question with `view-buffer' before
 deciding, \\`d' to view the differences using
 `diff-buffer-with-file', \\`!' to save the buffer and all remaining