From bae9f9e311d370f625e442fecfe7d23d2ced2cf3 Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Sat, 16 Feb 2008 15:54:37 +0000 Subject: [PATCH] (vc-annotate): Add new argument. (vc-annotate-warp-revision): Pass the current line to vc-annotate. --- lisp/ChangeLog | 3 +++ lisp/vc.el | 16 ++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 073fdee2815..2509add2580 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2008-02-16 Dan Nicolaescu + * vc.el (vc-annotate): Add new argument. + (vc-annotate-warp-revision): Pass the current line to vc-annotate. + * progmodes/hideshow.el: Remove the minor-mode bookkeeping. Move make-variable-buffer-local code after the corresponding defvar. (hs-minor-mode-map): Define and initialize in one step. diff --git a/lisp/vc.el b/lisp/vc.el index cb569adcfb8..0bfafd976f5 100644 --- a/lisp/vc.el +++ b/lisp/vc.el @@ -3684,7 +3684,7 @@ use; you may override this using the second optional arg MODE." vc-annotate-display-mode)))) ;;;###autoload -(defun vc-annotate (file rev &optional display-mode buf) +(defun vc-annotate (file rev &optional display-mode buf move-point-to) "Display the edit history of the current file using colors. This command creates a buffer that shows, for each line of the current @@ -3703,6 +3703,8 @@ should cover. For example, a time span of 20 days means that changes over the past 20 days are shown in red to blue, according to their age, and everything that is older than that is shown in blue. +If MOVE-POINT-TO is given, move the point to that line. + Customization variables: `vc-annotate-menu-elements' customizes the menu elements of the @@ -3730,7 +3732,7 @@ mode-specific menu. `vc-annotate-color-map' and ;; 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)))) + (current-line (or move-point-to (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 @@ -3898,10 +3900,12 @@ revision." (when newrev (vc-annotate vc-annotate-parent-file newrev vc-annotate-parent-display-mode - buf) - (goto-line (min oldline (progn (goto-char (point-max)) - (forward-line -1) - (line-number-at-pos))) buf))))) + buf + ;; Pass the current line so that vc-annotate will + ;; place the point in the line. + (min oldline (progn (goto-char (point-max)) + (forward-line -1) + (line-number-at-pos)))))))) (defun vc-annotate-compcar (threshold a-list) "Test successive cons cells of A-LIST against THRESHOLD. -- 2.39.5