aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorEli Zaretskii2010-12-09 20:53:17 +0200
committerEli Zaretskii2010-12-09 20:53:17 +0200
commit65ceb118c42c59b0ff36aeae20ad0f3b53842501 (patch)
treeb3982a2c9753d3fe14bab87671eb71b7ead248d9 /lisp
parent81ced43d179308153dfba3eece877e84c4091dea (diff)
downloademacs-65ceb118c42c59b0ff36aeae20ad0f3b53842501.tar.gz
emacs-65ceb118c42c59b0ff36aeae20ad0f3b53842501.zip
Fix bug #1077 with popping new frames from a minibuffer-only frame.
Do NOT merge with trunk! menu-bar.el (menu-bar-frame-for-menubar, menu-bar-positive-p): New functions. (menu-bar-showhide-menu) <menu-bar-mode, showhide-tool-bar>: Use them instead of `nil' and `>', respectively.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/menu-bar.el21
2 files changed, 26 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d8edf108bd2..8184473d035 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
12010-12-09 Eli Zaretskii <eliz@gnu.org>
2
3 * menu-bar.el (menu-bar-frame-for-menubar, menu-bar-positive-p):
4 New functions.
5 (menu-bar-showhide-menu) <menu-bar-mode, showhide-tool-bar>: Use
6 them instead of `nil' and `>', respectively. (Bug#1077)
7
12010-12-09 Stephen Berman <stephen.berman@gmx.net> 82010-12-09 Stephen Berman <stephen.berman@gmx.net>
2 9
3 * calendar/diary-lib.el (diary-list-sexp-entries): 10 * calendar/diary-lib.el (diary-list-sexp-entries):
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index d25de5b385c..1f97ea76847 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -980,16 +980,33 @@ mail status in mode line"))
980 :visible (and (display-graphic-p) (fboundp 'x-show-tip)) 980 :visible (and (display-graphic-p) (fboundp 'x-show-tip))
981 :button (:toggle . tooltip-mode))) 981 :button (:toggle . tooltip-mode)))
982 982
983(defun menu-bar-frame-for-menubar ()
984 "Return the frame suitable for updating the menu bar."
985 (or (and (framep menu-updating-frame)
986 menu-updating-frame)
987 (selected-frame)))
988
989(defun menu-bar-positive-p (val)
990 "Return non-nil iff VAL is a positive number."
991 (and (numberp val)
992 (> val 0)))
993
983(define-key menu-bar-showhide-menu [menu-bar-mode] 994(define-key menu-bar-showhide-menu [menu-bar-mode]
984 `(menu-item ,(purecopy "Menu-bar") toggle-menu-bar-mode-from-frame 995 `(menu-item ,(purecopy "Menu-bar") toggle-menu-bar-mode-from-frame
985 :help ,(purecopy "Turn menu-bar on/off") 996 :help ,(purecopy "Turn menu-bar on/off")
986 :button (:toggle . (> (frame-parameter nil 'menu-bar-lines) 0)))) 997 :button
998 (:toggle . (menu-bar-positive-p
999 (frame-parameter (menu-bar-frame-for-menubar)
1000 'menu-bar-lines)))))
987 1001
988(define-key menu-bar-showhide-menu [showhide-tool-bar] 1002(define-key menu-bar-showhide-menu [showhide-tool-bar]
989 `(menu-item ,(purecopy "Tool-bar") toggle-tool-bar-mode-from-frame 1003 `(menu-item ,(purecopy "Tool-bar") toggle-tool-bar-mode-from-frame
990 :help ,(purecopy "Turn tool-bar on/off") 1004 :help ,(purecopy "Turn tool-bar on/off")
991 :visible (display-graphic-p) 1005 :visible (display-graphic-p)
992 :button (:toggle . (> (frame-parameter nil 'tool-bar-lines) 0)))) 1006 :button
1007 (:toggle . (menu-bar-positive-p
1008 (frame-parameter (menu-bar-frame-for-menubar)
1009 'tool-bar-lines)))))
993 1010
994(define-key menu-bar-options-menu [showhide] 1011(define-key menu-bar-options-menu [showhide]
995 `(menu-item ,(purecopy "Show/Hide") ,menu-bar-showhide-menu)) 1012 `(menu-item ,(purecopy "Show/Hide") ,menu-bar-showhide-menu))