From: Stefan Monnier Date: Tue, 7 Dec 1999 06:31:32 +0000 (+0000) Subject: (save-some-buffers): Turn EXITING into the more general X-Git-Tag: emacs-pretest-21.0.90~5850 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=707ad06002b6d134339b1df083fad19ba274d41d;p=emacs.git (save-some-buffers): Turn EXITING into the more general PRED argument to allow specifying a subset of buffers. --- diff --git a/lisp/files.el b/lisp/files.el index d92313eaec3..44baf22f8bd 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2517,11 +2517,14 @@ After saving the buffer, this function runs `after-save-hook'." 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 @@ Optional second argument EXITING means ask about certain non-file buffers (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)