comparison lisp/vc-dir.el @ 96411:31e595cb6c02

(vc-dir): Make backend argument optional and use vc-responsible-backend when nil. Interactively pass nil for backend instead of using the backend of what happens to be default-directory at the time of the call.
author Andreas Schwab <schwab@suse.de>
date Sun, 29 Jun 2008 12:50:20 +0000
parents 02d657f45045
children 9a72b6660355
comparison
equal deleted inserted replaced
96410:56e9179abfbe 96411:31e595cb6c02
988 (when (and state (not (eq state 'unregistered))) 988 (when (and state (not (eq state 'unregistered)))
989 (setq model (vc-checkout-model vc-dir-backend only-files-list)))) 989 (setq model (vc-checkout-model vc-dir-backend only-files-list))))
990 (list vc-dir-backend files only-files-list state model))) 990 (list vc-dir-backend files only-files-list state model)))
991 991
992 ;;;###autoload 992 ;;;###autoload
993 (defun vc-dir (dir backend) 993 (defun vc-dir (dir &optional backend)
994 "Show the VC status for DIR. 994 "Show the VC status for DIR.
995 With a prefix argument ask what VC backend to use." 995 Optional second argument BACKEND specifies the VC backend to use.
996 Interactively, a prefix argument means to ask for the backend."
996 (interactive 997 (interactive
997 (list 998 (list
998 (read-file-name "VC status for directory: " 999 (read-file-name "VC status for directory: "
999 default-directory default-directory t 1000 default-directory default-directory t
1000 nil #'file-directory-p) 1001 nil #'file-directory-p)
1001 (if current-prefix-arg 1002 (if current-prefix-arg
1002 (intern 1003 (intern
1003 (completing-read 1004 (completing-read
1004 "Use VC backend: " 1005 "Use VC backend: "
1005 (mapcar (lambda (b) (list (symbol-name b))) vc-handled-backends) 1006 (mapcar (lambda (b) (list (symbol-name b)))
1006 nil t nil nil)) 1007 vc-handled-backends)
1007 (vc-responsible-backend default-directory)))) 1008 nil t nil nil)))))
1009 (unless backend
1010 (setq backend (vc-responsible-backend dir)))
1008 (pop-to-buffer (vc-dir-prepare-status-buffer "*vc-dir*" dir backend)) 1011 (pop-to-buffer (vc-dir-prepare-status-buffer "*vc-dir*" dir backend))
1009 (if (derived-mode-p 'vc-dir-mode) 1012 (if (derived-mode-p 'vc-dir-mode)
1010 (vc-dir-refresh) 1013 (vc-dir-refresh)
1011 ;; FIXME: find a better way to pass the backend to `vc-dir-mode'. 1014 ;; FIXME: find a better way to pass the backend to `vc-dir-mode'.
1012 (let ((use-vc-backend backend)) 1015 (let ((use-vc-backend backend))