changeset 82306:42ad26e14a99

(vc-annotate): Select temp-buffer before running vc-exec-after. Select the buffer's window before moving point.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 07 Aug 2007 03:32:24 +0000
parents 108a0fa4a114
children 3a38f5a481f0
files lisp/ChangeLog lisp/vc.el
diffstat 2 files changed, 19 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Tue Aug 07 03:10:23 2007 +0000
+++ b/lisp/ChangeLog	Tue Aug 07 03:32:24 2007 +0000
@@ -1,3 +1,8 @@
+2007-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* vc.el (vc-annotate): Select temp-buffer before running vc-exec-after.
+	Select the buffer's window before moving point.
+
 2007-08-07  Richard Stallman  <rms@gnu.org>
 
 	* term.el (term): Remove parent group `unix'.
@@ -50,7 +55,7 @@
 
 	* term.el: Honor term-default-fg-color and term-default-bg-color
 	settings when modifying term-current-face.
-	(term-default-fg-color, term-default-bg-color): Initialized from
+	(term-default-fg-color, term-default-bg-color): Initialize from
 	default term-current-face.
 	(term-mode, term-reset-terminal): Set term-current-face with
 	term-default-fg-color and term-default-bg-color.
--- a/lisp/vc.el	Tue Aug 07 03:10:23 2007 +0000
+++ b/lisp/vc.el	Tue Aug 07 03:32:24 2007 +0000
@@ -3272,12 +3272,19 @@
         (set (make-local-variable 'vc-annotate-parent-display-mode)
              display-mode)))
 
-    (vc-exec-after
-     `(progn
-        (when ,current-line
-          (goto-line ,current-line ,temp-buffer-name))
-        (unless (active-minibuffer-window)
-          (message "Annotating... done"))))))
+    (with-current-buffer temp-buffer-name
+      (vc-exec-after
+       `(progn
+          ;; Ideally, we'd rather not move point if the user has already
+          ;; moved it elsewhere, but really point here is not the position
+          ;; of the user's cursor :-(
+          (when ,current-line           ;(and (bobp))
+            (let ((win (get-buffer-window (current-buffer) 0)))
+              (when win
+                (with-selected-window win
+                  (goto-line ,current-line)))))
+          (unless (active-minibuffer-window)
+            (message "Annotating... done")))))))
 
 (defun vc-annotate-prev-version (prefix)
   "Visit the annotation of the version previous to this one.