summaryrefslogtreecommitdiff
path: root/lisp/menu-bar.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1993-07-29 04:50:27 +0000
committerRichard M. Stallman <rms@gnu.org>1993-07-29 04:50:27 +0000
commita0213a97172fad2bf4ca62da432a66351f2a8b0b (patch)
treeda3cf962eeacfa6d07ec2d7b33c21283cda2f9d9 /lisp/menu-bar.el
parent5cb70bb5ad9b9af694603241f218522172743070 (diff)
downloademacs-a0213a97172fad2bf4ca62da432a66351f2a8b0b.tar.gz
(delete-frame): Permit it, if > 1 frame is vis or iconic.
Diffstat (limited to 'lisp/menu-bar.el')
-rw-r--r--lisp/menu-bar.el10
1 files changed, 9 insertions, 1 deletions
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 6415eac958d..f6150a9a31b 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -107,7 +107,15 @@
'(or revert-buffer-function revert-buffer-insert-file-contents-function
(and (buffer-file-name)
(not (verify-visited-file-modtime (current-buffer))))))
-(put 'delete-frame 'menu-enable '(cdr (visible-frame-list)))
+;; Permit deleting frame if it would leave a visible or iconified frame.
+(put 'delete-frame 'menu-enable
+ '(let ((frames (frame-list))
+ (count 0))
+ (while frames
+ (if (cdr (assq 'visibility (frame-parameters (car frames))))
+ (setq count (1+ count)))
+ (setq frames (cdr frames)))
+ (> count 1)))
(put 'kill-this-buffer 'menu-enable '(kill-this-buffer-enabled-p))
(put 'advertised-undo 'menu-enable