Mercurial > emacs
changeset 97118:48b4d1b43ea2
(vc-dir): Call file-truename on the dir argument.
author | Sam Steingold <sds@gnu.org> |
---|---|
date | Wed, 30 Jul 2008 14:59:08 +0000 |
parents | 7f5effb50ce7 |
children | b57392641da7 |
files | lisp/ChangeLog lisp/vc-dir.el |
diffstat | 2 files changed, 17 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Jul 30 14:50:08 2008 +0000 +++ b/lisp/ChangeLog Wed Jul 30 14:59:08 2008 +0000 @@ -1,3 +1,7 @@ +2008-07-30 Sam Steingold <sds@gnu.org> + + * vc-dir.el (vc-dir): Call file-truename on the dir argument. + 2008-07-30 Dan Nicolaescu <dann@ics.uci.edu> * vc-dir.el (vc-dir-menu-map, vc-at-event): Fix docstring.
--- a/lisp/vc-dir.el Wed Jul 30 14:50:08 2008 +0000 +++ b/lisp/vc-dir.el Wed Jul 30 14:59:08 2008 +0000 @@ -206,7 +206,7 @@ '(menu-item "Register" vc-register :help "Register file set into the version control system")) map) - "Menu for VC dir") + "Menu for dispatcher status") ;; VC backends can use this to add mode-specific menu items to ;; vc-dir-menu-map. @@ -231,9 +231,8 @@ (define-key map "+" 'vc-update) ;; C-x v + (define-key map "l" 'vc-print-log) ;; C-x v l ;; More confusing than helpful, probably - ;;(define-key map "R" 'vc-revert) ;; u is taken by vc-dir-unmark. - ;;(define-key map "A" 'vc-annotate) ;; g is taken by revert-buffer - ;; bound by `special-mode'. + ;;(define-key map "R" 'vc-revert) ;; u is taken by dispatcher unmark. + ;;(define-key map "A" 'vc-annotate) ;; g is taken by dispatcher refresh ;; Marking. (define-key map "m" 'vc-dir-mark) (define-key map "M" 'vc-dir-mark-all-files) @@ -286,7 +285,7 @@ ,@body)))) (defun vc-dir-menu (e) - "Popup the VC dir menu." + "Popup the dispatcher status menu." (interactive "e") (vc-at-event e (popup-menu vc-dir-menu-map e))) @@ -872,7 +871,7 @@ (defvar use-vc-backend) ;; dynamically bound (define-derived-mode vc-dir-mode special-mode "VC dir" - "Major mode for VC directory buffers. + "Major mode for dispatcher directory buffers. Marking/Unmarking key bindings and actions: m - marks a file/directory or if the region is active, mark all the files in region. @@ -890,19 +889,6 @@ - if the cursor is on a directory: unmark all child files - with a prefix argument: unmark all files -VC commands -VC commands in the `C-x v' can be used, they act on the marked -entries, or on the current entry if nothing is marked. - -Search & Replace -S - searches the marked files -Q - does a query replace on the marked files -M-s a C-s - does an isearch on the marked files -M-s a C-M-s - does an isearch on the marked files -If nothing is marked, these commands act on the current entry. -When a directory is current or marked, the Search & Replace -commands act on the files in those directories displayed in the -*vc-dir* buffer. \\{vc-dir-mode-map}" (set (make-local-variable 'vc-dir-backend) use-vc-backend) @@ -1107,9 +1093,14 @@ Interactively, a prefix argument means to ask for the backend." (interactive (list - (read-file-name "VC status for directory: " - default-directory default-directory t - nil #'file-directory-p) + ;; When you hit C-x v d in a visited VC file, + ;; the *vc-dir* buffer visits the directory under its truename; + ;; therefore it makes sense to always do that. + ;; Otherwise if you do C-x v d -> C-x C-f -> C-c v d + ;; you may get a new *vc-dir* buffer, different from the original + (file-truename (read-file-name "VC status for directory: " + default-directory default-directory t + nil #'file-directory-p)) (if current-prefix-arg (intern (completing-read