;; FIXME: Replace these with a more efficient dispatch
(defun vc-generic-status-printer (fileentry)
- (let ((backend (vc-responsible-backend (vc-dir-fileinfo->name fileentry))))
- (vc-call-backend backend 'status-printer fileentry)))
+ (let* ((file (vc-dir-fileinfo->name fileentry))
+ ((backend (vc-responsible-backend file))))
+ (vc-call-backend backend 'status-printer file)))
(defun vc-generic-state (file)
(let ((backend (vc-responsible-backend file)))
(vc-dir-headers backend dir)))
(defun vc-make-backend-object (file-or-dir)
+ "Create the backend capability object needed by vc-dispatcher."
(vc-create-client-object
"VC status"
(let ((backend (vc-responsible-backend file-or-dir)))
"Show the VC status for DIR."
(interactive "DVC status for directory: ")
(pop-to-buffer (vc-dir-prepare-status-buffer dir))
- (if (eq major-mode 'vc-dir-mode)
+ (if (and (eq major-mode 'vc-dir-mode) (boundp 'client-object))
(vc-dir-refresh)
;; Otherwise, initialize a new view using the dispatcher layer
(progn