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)))