diff lisp/vc.el @ 90951:3619e7770f2e

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 793-802) - Update from CVS - Remove RCS keywords - Merge from emacs--rel--22 * emacs--rel--22 (patch 42-50) - Update from CVS - Merge from gnus--rel--5.10 - Gnus ChangeLog tweaks * gnus--rel--5.10 (patch 229-232) - Merge from emacs--devo--0, emacs--rel--22 - ChangeLog tweak - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-223
author Miles Bader <miles@gnu.org>
date Sat, 16 Jun 2007 22:32:13 +0000
parents d7172f202ab8 4d58251a76e1
children 988f1edc9674
line wrap: on
line diff
--- a/lisp/vc.el	Sat Jun 16 21:50:56 2007 +0000
+++ b/lisp/vc.el	Sat Jun 16 22:32:13 2007 +0000
@@ -2096,7 +2096,7 @@
     (define-key vmap "t" 'vc-dired-toggle-terse-mode)
     map))
 
-(define-derived-mode vc-dired-mode dired-mode "Dired under VC"
+(define-derived-mode vc-dired-mode dired-mode "Dired under "
   "The major mode used in VC directory buffers.
 
 It works like Dired, but lists only files under version control, with
@@ -2156,6 +2156,8 @@
        (set (make-local-variable 'dired-actual-switches)
             vc-dired-switches))
   (set (make-local-variable 'vc-dired-terse-mode) vc-dired-terse-display)
+  (setq mode-name (concat mode-name (symbol-name (vc-responsible-backend 
+						  default-directory))))
   (setq vc-dired-mode t))
 
 (defun vc-dired-toggle-terse-mode ()
@@ -2214,7 +2216,9 @@
 	;; if the backend supports it, get the state
 	;; of all files in this directory at once
 	(let ((backend (vc-responsible-backend subdir)))
-	  (if (vc-find-backend-function backend 'dir-state)
+	  ;; check `backend' can really handle `subdir'.
+	  (if (and (vc-call-backend backend 'responsible-p subdir)
+		   (vc-find-backend-function backend 'dir-state))
 	      (vc-call-backend backend 'dir-state subdir)))
         (forward-line 1)
         ;; erase (but don't remove) the "total" line