changeset 98661:cfea943367ab

(compilation-mode-tool-bar-map): Check if tool-bar-map has been initialized before setting it up.
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 12 Oct 2008 13:46:28 +0000
parents 90b078ed2dc4
children b4b9589af9a7
files lisp/progmodes/compile.el
diffstat 1 files changed, 22 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/compile.el	Sun Oct 12 13:46:13 2008 +0000
+++ b/lisp/progmodes/compile.el	Sun Oct 12 13:46:28 2008 +0000
@@ -1471,25 +1471,28 @@
 `compilation-minor-mode-map' is a parent of this.")
 
 (defvar compilation-mode-tool-bar-map
-  (let ((map (butlast (copy-keymap tool-bar-map)))
-	(help (last tool-bar-map))) ;; Keep Help last in tool bar
-    (tool-bar-local-item
-     "left-arrow" 'previous-error-no-select 'previous-error-no-select map
-     :rtl "right-arrow"
-     :help "Goto previous error")
-    (tool-bar-local-item
-     "right-arrow" 'next-error-no-select 'next-error-no-select map
-     :rtl "left-arrow"
-     :help "Goto next error")
-    (tool-bar-local-item
-     "cancel" 'kill-compilation 'kill-compilation map
-     :enable '(let ((buffer (compilation-find-buffer)))
-		(get-buffer-process buffer))
-     :help "Stop compilation")
-    (tool-bar-local-item
-     "refresh" 'recompile 'recompile map
-     :help "Restart compilation")
-    (append map help)))
+  ;; When bootstrapping, tool-bar-map is not properly initialized yet,
+  ;; so don't do anything.
+  (when (keymapp (butlast tool-bar-map))
+    (let ((map (butlast (copy-keymap tool-bar-map)))
+	  (help (last tool-bar-map))) ;; Keep Help last in tool bar
+      (tool-bar-local-item
+       "left-arrow" 'previous-error-no-select 'previous-error-no-select map
+       :rtl "right-arrow"
+       :help "Goto previous error")
+      (tool-bar-local-item
+       "right-arrow" 'next-error-no-select 'next-error-no-select map
+       :rtl "left-arrow"
+       :help "Goto next error")
+      (tool-bar-local-item
+       "cancel" 'kill-compilation 'kill-compilation map
+       :enable '(let ((buffer (compilation-find-buffer)))
+		  (get-buffer-process buffer))
+       :help "Stop compilation")
+      (tool-bar-local-item
+       "refresh" 'recompile 'recompile map
+       :help "Restart compilation")
+      (append map help))))
 
 (put 'compilation-mode 'mode-class 'special)