Mercurial > emacs
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)) |