emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r100729: Set default-frame-alist, if


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r100729: Set default-frame-alist, if necessary, in menu/tool-bar-mode.
Date: Mon, 05 Jul 2010 13:54:13 -0400
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100729
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Mon 2010-07-05 13:54:13 -0400
message:
  Set default-frame-alist, if necessary, in menu/tool-bar-mode.
  
  * menu-bar.el (menu-bar-mode):
  * tool-bar.el (tool-bar-mode): Replace default-frame-alist element
  if it has been set.
modified:
  lisp/ChangeLog
  lisp/menu-bar.el
  lisp/tool-bar.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-07-05 16:42:50 +0000
+++ b/lisp/ChangeLog    2010-07-05 17:54:13 +0000
@@ -1,5 +1,9 @@
 2010-07-05  Chong Yidong  <address@hidden>
 
+       * menu-bar.el (menu-bar-mode):
+       * tool-bar.el (tool-bar-mode): Replace default-frame-alist element
+       if it has been set.
+
        * mouse.el (mouse-drag-track): Call mouse-start-end to handle
        word/line selection (Bug#6565).
 

=== modified file 'lisp/menu-bar.el'
--- a/lisp/menu-bar.el  2010-06-27 00:30:52 +0000
+++ b/lisp/menu-bar.el  2010-07-05 17:54:13 +0000
@@ -1937,15 +1937,20 @@
   ;; Turn the menu-bars on all frames on or off.
   (let ((val (if menu-bar-mode 1 0)))
     (dolist (frame (frame-list))
-      (set-frame-parameter frame 'menu-bar-lines val)))
-
+      (set-frame-parameter frame 'menu-bar-lines val))
+    ;; If the user has given `default-frame-alist' a `menu-bar-lines'
+    ;; parameter, replace it.
+    (if (assq 'menu-bar-lines default-frame-alist)
+       (setq default-frame-alist
+             (cons (cons 'menu-bar-lines val)
+                   (assq-delete-all 'menu-bar-lines
+                                    default-frame-alist)))))
   ;; Make the message appear when Emacs is idle.  We can not call message
   ;; directly.  The minor-mode message "Menu-bar mode disabled" comes
   ;; after this function returns, overwriting any message we do here.
   (when (and (called-interactively-p 'interactive) (not menu-bar-mode))
     (run-with-idle-timer 0 nil 'message
-                        "Menu-bar mode disabled.  Use M-x menu-bar-mode to 
make the menu bar appear."))
-  menu-bar-mode)
+                        "Menu-bar mode disabled.  Use M-x menu-bar-mode to 
make the menu bar appear.")))
 
 (defun toggle-menu-bar-mode-from-frame (&optional arg)
   "Toggle menu bar on or off, based on the status of the current frame.

=== modified file 'lisp/tool-bar.el'
--- a/lisp/tool-bar.el  2010-06-27 00:30:52 +0000
+++ b/lisp/tool-bar.el  2010-07-05 17:54:13 +0000
@@ -52,13 +52,19 @@
   :global t
   :group 'mouse
   :group 'frames
-  ;; Make tool-bar even if terminal is non-graphical (Bug#1754).
   (let ((val (if tool-bar-mode 1 0)))
     (dolist (frame (frame-list))
-      (set-frame-parameter frame 'tool-bar-lines val)))
-  (when tool-bar-mode
-    (if (= 1 (length (default-value 'tool-bar-map))) ; not yet setup
-       (tool-bar-setup))))
+      (set-frame-parameter frame 'tool-bar-lines val))
+    ;; If the user has given `default-frame-alist' a `tool-bar-lines'
+    ;; parameter, replace it.
+    (if (assq 'tool-bar-lines default-frame-alist)
+       (setq default-frame-alist
+             (cons (cons 'tool-bar-lines val)
+                   (assq-delete-all 'tool-bar-lines
+                                    default-frame-alist)))))
+  (and tool-bar-mode
+       (= 1 (length (default-value 'tool-bar-map))) ; not yet setup
+       (tool-bar-setup)))
 
 ;;;###autoload
 ;; Used in the Show/Hide menu, to have the toggle reflect the current frame.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]