changeset 26745:91304e25926b

(save-some-buffers): Turn EXITING into the more general PRED argument to allow specifying a subset of buffers.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 07 Dec 1999 06:31:32 +0000
parents f14026cd9767
children d22cd599a91a
files lisp/files.el
diffstat 1 files changed, 9 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/files.el	Tue Dec 07 06:30:44 1999 +0000
+++ b/lisp/files.el	Tue Dec 07 06:31:32 1999 +0000
@@ -2517,11 +2517,14 @@
 		      buffer-file-name nil t buffer-file-truename)))
     setmodes))
 
-(defun save-some-buffers (&optional arg exiting)
+(defun save-some-buffers (&optional arg pred)
   "Save some modified file-visiting buffers.  Asks user about each one.
 Optional argument (the prefix) non-nil means save all with no questions.
-Optional second argument EXITING means ask about certain non-file buffers
- as well as about file buffers."
+Optional second argument PRED determines which buffers are considered:
+If PRED is nil, all the file-visiting buffers are considered.
+If PRED is t, then certain non-file buffers will also be considered.
+If PRED is a zero-argument function, it indicates for each buffer whether
+  to consider it or not."
   (interactive "P")
   (save-window-excursion
     (let* ((queried nil)
@@ -2533,10 +2536,12 @@
 		     (not (buffer-base-buffer buffer))
 		     (or
 		      (buffer-file-name buffer)
-		      (and exiting
+		      (and pred
 			   (progn
 			     (set-buffer buffer)
 			     (and buffer-offer-save (> (buffer-size) 0)))))
+		     (or (not (functionp pred))
+			 (with-current-buffer buffer (funcall pred)))
 		     (if arg
 			 t
 		       (setq queried t)