comparison lisp/files.el @ 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 7970b988aada
children 2a78c861578f
comparison
equal deleted inserted replaced
26744:f14026cd9767 26745:91304e25926b
2515 (set-file-modes buffer-file-name 511))) 2515 (set-file-modes buffer-file-name 511)))
2516 (write-region (point-min) (point-max) 2516 (write-region (point-min) (point-max)
2517 buffer-file-name nil t buffer-file-truename))) 2517 buffer-file-name nil t buffer-file-truename)))
2518 setmodes)) 2518 setmodes))
2519 2519
2520 (defun save-some-buffers (&optional arg exiting) 2520 (defun save-some-buffers (&optional arg pred)
2521 "Save some modified file-visiting buffers. Asks user about each one. 2521 "Save some modified file-visiting buffers. Asks user about each one.
2522 Optional argument (the prefix) non-nil means save all with no questions. 2522 Optional argument (the prefix) non-nil means save all with no questions.
2523 Optional second argument EXITING means ask about certain non-file buffers 2523 Optional second argument PRED determines which buffers are considered:
2524 as well as about file buffers." 2524 If PRED is nil, all the file-visiting buffers are considered.
2525 If PRED is t, then certain non-file buffers will also be considered.
2526 If PRED is a zero-argument function, it indicates for each buffer whether
2527 to consider it or not."
2525 (interactive "P") 2528 (interactive "P")
2526 (save-window-excursion 2529 (save-window-excursion
2527 (let* ((queried nil) 2530 (let* ((queried nil)
2528 (files-done 2531 (files-done
2529 (map-y-or-n-p 2532 (map-y-or-n-p
2531 (lambda (buffer) 2534 (lambda (buffer)
2532 (and (buffer-modified-p buffer) 2535 (and (buffer-modified-p buffer)
2533 (not (buffer-base-buffer buffer)) 2536 (not (buffer-base-buffer buffer))
2534 (or 2537 (or
2535 (buffer-file-name buffer) 2538 (buffer-file-name buffer)
2536 (and exiting 2539 (and pred
2537 (progn 2540 (progn
2538 (set-buffer buffer) 2541 (set-buffer buffer)
2539 (and buffer-offer-save (> (buffer-size) 0))))) 2542 (and buffer-offer-save (> (buffer-size) 0)))))
2543 (or (not (functionp pred))
2544 (with-current-buffer buffer (funcall pred)))
2540 (if arg 2545 (if arg
2541 t 2546 t
2542 (setq queried t) 2547 (setq queried t)
2543 (if (buffer-file-name buffer) 2548 (if (buffer-file-name buffer)
2544 (format "Save file %s? " 2549 (format "Save file %s? "