changeset 92557:3cfb033a3bca

(vc-status-menu-map-filter): Return orig-binding if boundp 'vc-ignore-menu-filter. (vc-status-tool-bar-map): Make it defvar. (vc-status-mode): vc-status-tool-bar-map now variable. (vc-status-toggle-mark): toggle-mark-file => vc-status-toggle-mark-file.
author Jan Djärv <jan.h.d@swipnet.se>
date Fri, 07 Mar 2008 10:37:44 +0000
parents 5944be8c8211
children cb335afa065e
files lisp/vc.el
diffstat 1 files changed, 17 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/vc.el	Fri Mar 07 05:44:37 2008 +0000
+++ b/lisp/vc.el	Fri Mar 07 10:37:44 2008 +0000
@@ -2801,25 +2801,28 @@
   "Keymap for VC status")
 
 (defun vc-status-menu-map-filter (orig-binding)
-  (when (and (symbolp orig-binding) (fboundp orig-binding))
-    (setq orig-binding (indirect-function orig-binding)))
-  (let ((ext-binding
-	 (vc-call-backend (vc-responsible-backend default-directory)
-			  'extra-status-menu)))
-    (if (null ext-binding)
-        orig-binding
-      (append orig-binding
-	      '("----")
-              ext-binding))))
+  (if (boundp 'vc-ignore-menu-filter)
+      orig-binding
+    (when (and (symbolp orig-binding) (fboundp orig-binding))
+      (setq orig-binding (indirect-function orig-binding)))
+    (let ((ext-binding
+	   (vc-call-backend (vc-responsible-backend default-directory)
+			    'extra-status-menu)))
+      (if (null ext-binding)
+	  orig-binding
+	(append orig-binding
+		'("----")
+		ext-binding)))))
 
 (defun vc-status-menu (e)
   "Popup the VC status menu."
   (interactive "e")
   (popup-menu vc-status-menu-map e))
 
-(defun vc-status-tool-bar-map ()
+(defvar vc-status-tool-bar-map
   (if (display-graphic-p)
-      (let ((map (make-sparse-keymap)))
+      (let ((map (make-sparse-keymap))
+	    (vc-ignore-menu-filter t)) ;; Backend may not support vc-status
 	(tool-bar-local-item-from-menu 'vc-status-find-file "open" 
 				       map vc-status-mode-map)
 	(tool-bar-local-item "bookmark_add" 
@@ -2854,7 +2857,7 @@
   (setq buffer-read-only t)
   (set (make-local-variable 'vc-status-crt-marked) nil)
   (use-local-map vc-status-mode-map)
-  (set (make-local-variable 'tool-bar-map) (vc-status-tool-bar-map))
+  (set (make-local-variable 'tool-bar-map) vc-status-tool-bar-map)
   (let ((buffer-read-only nil)
 	(backend (vc-responsible-backend default-directory))
 	entries)
@@ -3051,7 +3054,7 @@
 
 (defun vc-status-toggle-mark ()
   (interactive)
-  (vc-status-mark-unmark 'toggle-mark-file))
+  (vc-status-mark-unmark 'vc-status-toggle-mark-file))
 
 (defun vc-status-register ()
   "Register the marked files, or the current file if no marks."