# HG changeset patch
# User Chong Yidong <cyd@stupidchicken.com>
# Date 1223830741 0
# Node ID 0eb883171f2a96b1c6beabb45270ae2737a8b33d
# Parent  4d71f5eee086cc200a8855180c21abe20f6b157d
(command-line): If toolbar is disabled but ought to be initialized,
call tool-bar-setup.

diff -r 4d71f5eee086 -r 0eb883171f2a lisp/startup.el
--- 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.