Mercurial > hg > xemacs-beta
comparison lisp/files.el @ 612:ff0d9e7facba
[xemacs-hg @ 2001-06-09 09:02:03 by michaels]
2001-06-08 Mike Sperber <mike@xemacs.org>
* files.el (save-some-buffers-1): Don't zap the help window right
after `map-y-or-n-p' has popped it up.
author | michaels |
---|---|
date | Sat, 09 Jun 2001 09:02:04 +0000 |
parents | a5ee2ca8672c |
children | 023b83f4e54b |
comparison
equal
deleted
inserted
replaced
611:38db05db9cb5 | 612:ff0d9e7facba |
---|---|
2470 (sit-for 0))))) | 2470 (sit-for 0))))) |
2471 | 2471 |
2472 ;; XEmacs - do not use queried flag | 2472 ;; XEmacs - do not use queried flag |
2473 (defun save-some-buffers-1 (arg exiting switch-buffer) | 2473 (defun save-some-buffers-1 (arg exiting switch-buffer) |
2474 (let* ((switched nil) | 2474 (let* ((switched nil) |
2475 (last-buffer nil) | |
2475 (files-done | 2476 (files-done |
2476 (map-y-or-n-p | 2477 (map-y-or-n-p |
2477 (lambda (buffer) | 2478 (lambda (buffer) |
2478 (and (buffer-modified-p buffer) | 2479 (prog1 |
2479 (not (buffer-base-buffer buffer)) | 2480 (and (buffer-modified-p buffer) |
2480 ;; XEmacs addition: | 2481 (not (buffer-base-buffer buffer)) |
2481 (not (symbol-value-in-buffer 'save-buffers-skip buffer)) | 2482 ;; XEmacs addition: |
2482 (or | 2483 (not (symbol-value-in-buffer 'save-buffers-skip buffer)) |
2483 (buffer-file-name buffer) | 2484 (or |
2484 (and exiting | 2485 (buffer-file-name buffer) |
2485 (progn | 2486 (and exiting |
2486 (set-buffer buffer) | 2487 (progn |
2487 (and buffer-offer-save (> (buffer-size) 0))))) | 2488 (set-buffer buffer) |
2488 (if arg | 2489 (and buffer-offer-save (> (buffer-size) 0))))) |
2489 t | 2490 (if arg |
2490 ;; #### We should provide a per-buffer means to | 2491 t |
2491 ;; disable the switching. For instance, you might | 2492 ;; #### We should provide a per-buffer means to |
2492 ;; want to turn it off for buffers the contents of | 2493 ;; disable the switching. For instance, you might |
2493 ;; which is meaningless to humans, such as | 2494 ;; want to turn it off for buffers the contents of |
2494 ;; `.newsrc.eld'. | 2495 ;; which is meaningless to humans, such as |
2495 (when switch-buffer | 2496 ;; `.newsrc.eld'. |
2496 (unless (one-window-p) | 2497 (when (and switch-buffer |
2497 (delete-other-windows)) | 2498 ;; map-y-or-n-p is displaying help |
2498 (setq switched t) | 2499 (not (eq last-buffer buffer))) |
2499 ;; #### Consider using `display-buffer' here for 21.1! | 2500 (unless (one-window-p) |
2500 ;;(display-buffer buffer nil (selected-frame))) | 2501 (delete-other-windows)) |
2501 (switch-to-buffer buffer t)) | 2502 (setq switched t) |
2502 (if (buffer-file-name buffer) | 2503 ;; #### Consider using `display-buffer' here for 21.1! |
2503 (format "Save file %s? " | 2504 ;;(display-buffer buffer nil (selected-frame))) |
2504 (buffer-file-name buffer)) | 2505 (switch-to-buffer buffer t)) |
2505 (format "Save buffer %s? " | 2506 (if (buffer-file-name buffer) |
2506 (buffer-name buffer)))))) | 2507 (format "Save file %s? " |
2508 (buffer-file-name buffer)) | |
2509 (format "Save buffer %s? " | |
2510 (buffer-name buffer))))) | |
2511 (setq last-buffer buffer))) | |
2507 (lambda (buffer) | 2512 (lambda (buffer) |
2508 (set-buffer buffer) | 2513 (set-buffer buffer) |
2509 (condition-case () | 2514 (condition-case () |
2510 (save-buffer) | 2515 (save-buffer) |
2511 (error nil))) | 2516 (error nil))) |