diff options
author | Karl Heuer <kwzh@gnu.org> | 1995-05-24 01:02:08 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1995-05-24 01:02:08 +0000 |
commit | b15ba8301d8bd54b90dde2dd87f2a6730287998f (patch) | |
tree | 9e7840bb1c67603336a534eb8494245cefb2b37a /lisp/menu-bar.el | |
parent | be039e8b7f47b8ecaa355bc43a03313677cf25ff (diff) | |
download | emacs-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.el | 19 |
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)) |