summaryrefslogtreecommitdiff
path: root/lisp/menu-bar.el
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1995-05-24 01:02:08 +0000
committerKarl Heuer <kwzh@gnu.org>1995-05-24 01:02:08 +0000
commitb15ba8301d8bd54b90dde2dd87f2a6730287998f (patch)
tree9e7840bb1c67603336a534eb8494245cefb2b37a /lisp/menu-bar.el
parentbe039e8b7f47b8ecaa355bc43a03313677cf25ff (diff)
downloademacs-b15ba8301d8bd54b90dde2dd87f2a6730287998f.tar.gz
(delete-frame-enabled-p): New subroutine.
Use frame-visible-p to reduce consing.
Diffstat (limited to 'lisp/menu-bar.el')
-rw-r--r--lisp/menu-bar.el19
1 files changed, 12 insertions, 7 deletions
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 08c909170ac..a49370fd52e 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -355,15 +355,20 @@ Do the same for the keys of the same name."
(and (buffer-file-name)
(or (buffer-modified-p)
(not (verify-visited-file-modtime (current-buffer)))))))
+
;; 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)))
+ '(delete-frame-enabled-p))
+
+(defun delete-frame-enabled-p ()
+ "Return non-nil if `delete-frame' should be enabled in the menu bar."
+ (let ((frames (frame-list))
+ (count 0))
+ (while frames
+ (if (frame-visible-p (car frames))
+ (setq count (1+ count)))
+ (setq frames (cdr frames)))
+ (> count 1)))
(put 'advertised-undo 'menu-enable
'(and (not (eq t buffer-undo-list))