diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8e75e6634fec0cf92a116fc99ee98d2a9106279c..b2332cdd349f2b15f3bc571c8957a64335a3b7ac 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2010-07-05 Chong Yidong + * 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). diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 20ad50c9048a567a7700e5f8809719d0438d4cb1..f94b67a6e89fd29358f6d0103a0561086c7051bf 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -1937,15 +1937,20 @@ turn on menu bars; otherwise, turn off menu bars." ;; 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. diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el index eaa8551b019b7356c005cf0c8e295549348e7188..4b83b07754dd97afe057c514da0b076ecfa2bf9b 100644 --- a/lisp/tool-bar.el +++ b/lisp/tool-bar.el @@ -52,13 +52,19 @@ conveniently adding tool bar items." :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.