Mercurial > emacs
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? " |