Mercurial > emacs
changeset 70007:19ab508f832f
(vc-annotate): Arrange for point to end up at the same
line number as in the original, but only when using a new buffer.
author | Thien-Thi Nguyen <ttn@gnuvola.org> |
---|---|
date | Thu, 13 Apr 2006 13:35:55 +0000 |
parents | ccc2eb385394 |
children | 687819bce4df |
files | lisp/vc.el |
diffstat | 1 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/vc.el Thu Apr 13 13:29:22 2006 +0000 +++ b/lisp/vc.el Thu Apr 13 13:35:55 2006 +0000 @@ -3107,7 +3107,11 @@ (vc-ensure-vc-buffer) (setq vc-annotate-display-mode display-mode) ;Not sure why. --Stef (let* ((temp-buffer-name (format "*Annotate %s (rev %s)*" (buffer-name) rev)) - (temp-buffer-show-function 'vc-annotate-display-select)) + (temp-buffer-show-function 'vc-annotate-display-select) + ;; If BUF is specified, we presume the caller maintains current line, + ;; so we don't need to do it here. This implementation may give + ;; strange results occasionally in the case of REV != WORKFILE-REV. + (current-line (unless buf (line-number-at-pos)))) (message "Annotating...") ;; If BUF is specified it tells in which buffer we should put the ;; annotations. This is used when switching annotations to another @@ -3129,6 +3133,8 @@ (set (make-local-variable 'vc-annotate-parent-rev) rev) (set (make-local-variable 'vc-annotate-parent-display-mode) display-mode))) + (when current-line + (goto-line current-line temp-buffer-name)) (message "Annotating... done"))) (defun vc-annotate-prev-version (prefix)