[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
patch: vc.el annotation prev/next "in place"
From: |
Thien-Thi Nguyen |
Subject: |
patch: vc.el annotation prev/next "in place" |
Date: |
05 Apr 2006 17:15:04 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
i month or so ago, i complained about the P and N (and J) commands in
vc-annotate buffer ending up (selecting) another buffer/window. the
following patch reverts the old behavior, according to my tastes, but
i suspect there is a better way, by avoiding `switch-to-buffer', for
example. what do you think?
thi
______________________________
Index: vc.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc.el,v
retrieving revision 1.414
diff -w -b -B -c -r1.414 vc.el
*** vc.el 7 Feb 2006 16:59:01 -0000 1.414
--- vc.el 5 Apr 2006 21:05:34 -0000
***************
*** 3076,3083 ****
nil nil "20")))))))
(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))
(message "Annotating...")
;; If BUF is specified it tells in which buffer we should put the
;; annotations. This is used when switching annotations to another
--- 3076,3087 ----
nil nil "20")))))))
(vc-ensure-vc-buffer)
(setq vc-annotate-display-mode display-mode) ;Not sure why. --Stef
! (let* ((temp-buffer-setup-hook nil)
! (temp-buffer-name (format "*Annotate %s (rev %s)*"
! (buffer-name) rev))
! (temp-buffer-show-function (lambda (buf)
! (switch-to-buffer buf)
! (vc-annotate-display-select))))
(message "Annotating...")
;; If BUF is specified it tells in which buffer we should put the
;; annotations. This is used when switching annotations to another
***************
*** 3086,3101 ****
(rename-buffer temp-buffer-name t)
;; In case it had to be uniquified.
(setq temp-buffer-name (buffer-name))))
! (with-output-to-temp-buffer temp-buffer-name
! (vc-call annotate-command file (get-buffer temp-buffer-name) rev))
(with-current-buffer temp-buffer-name
(set (make-local-variable 'vc-annotate-backend) (vc-backend file))
(set (make-local-variable 'vc-annotate-parent-file) file)
(set (make-local-variable 'vc-annotate-parent-rev) rev)
(set (make-local-variable 'vc-annotate-parent-display-mode)
! display-mode))
! (message "Annotating... done")))
(defun vc-annotate-prev-version (prefix)
"Visit the annotation of the version previous to this one.
--- 3090,3108 ----
(rename-buffer temp-buffer-name t)
;; In case it had to be uniquified.
(setq temp-buffer-name (buffer-name))))
! (vc-call annotate-command file (get-buffer-create temp-buffer-name) rev)
! (switch-to-buffer temp-buffer-name)
! (delete-other-windows)
! (vc-annotate-display-select)
! (goto-char (point-min))
(with-current-buffer temp-buffer-name
(set (make-local-variable 'vc-annotate-backend) (vc-backend file))
(set (make-local-variable 'vc-annotate-parent-file) file)
(set (make-local-variable 'vc-annotate-parent-rev) rev)
(set (make-local-variable 'vc-annotate-parent-display-mode)
! display-mode)))
! (message "Annotating... done"))
(defun vc-annotate-prev-version (prefix)
"Visit the annotation of the version previous to this one.
- patch: vc.el annotation prev/next "in place",
Thien-Thi Nguyen <=