changeset 98664:0eb883171f2a

(command-line): If toolbar is disabled but ought to be initialized, call tool-bar-setup.
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 12 Oct 2008 16:59:01 +0000
parents 4d71f5eee086
children 340d2b744ccf
files lisp/startup.el
diffstat 1 files changed, 12 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/startup.el	Sun Oct 12 16:58:17 2008 +0000
+++ b/lisp/startup.el	Sun Oct 12 16:59:01 2008 +0000
@@ -691,6 +691,7 @@
 (declare-function x-get-resource "frame.c"
 		  (attribute class &optional component subclass))
 (declare-function tool-bar-mode "tool-bar" (&optional arg))
+(declare-function tool-bar-setup "tool-bar")
 
 (defun command-line ()
   (setq before-init-time (current-time)
@@ -896,17 +897,17 @@
                    (<= (frame-parameter nil 'menu-bar-lines) 0)))
     (menu-bar-mode 1))
 
-  ;; Enable tool-bar-mode if necessary.  Note that we might enable it
-  ;; even in tty frames, which means that there is a tool-bar if Emacs
-  ;; later opens a graphical frame.
-  (unless (or noninteractive emacs-basic-display
-	      (not (fboundp 'tool-bar-mode))
-  	      ;; The tool-bar-lines parameter is nil if starting on a
-  	      ;; tty; it is 0 if starting on a graphical display with
-  	      ;; the toolbar disabled via X resources.
-  	      (and (numberp (frame-parameter nil 'tool-bar-lines))
-  		   (<= (frame-parameter nil 'tool-bar-lines) 0)))
-    (tool-bar-mode 1))
+  (unless (or noninteractive (not (fboundp 'tool-bar-mode)))
+    ;; Set up the tool-bar.  Do this even in tty frames, so that there
+    ;; is a tool-bar if Emacs later opens a graphical frame.
+    (if (or emacs-basic-display
+	    (and (numberp (frame-parameter nil 'tool-bar-lines))
+		 (<= (frame-parameter nil 'tool-bar-lines) 0)))
+	;; On a graphical display with the toolbar disabled via X
+	;; resources, set up the toolbar without enabling it.
+	(tool-bar-setup)
+      ;; Otherwise, enable tool-bar-mode.
+      (tool-bar-mode 1)))
 
   ;; Can't do this init in defcustom because the relevant variables
   ;; are not set.