summaryrefslogtreecommitdiff
path: root/lisp/vc/log-view.el
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-09-18 20:02:01 -0600
committerTom Tromey <tom@tromey.com>2017-09-18 20:02:01 -0600
commit066efb86660542238854a400c3c20b5cb526a3cd (patch)
tree826d90d9eb79f9660a9252c140fc5fda6700c1a3 /lisp/vc/log-view.el
parent3f006b56cdd9dff313ea88fcedad122968fe1e6b (diff)
downloademacs-066efb86660542238854a400c3c20b5cb526a3cd.tar.gz
Fix log-view-diff-common when point is after last entry
Bug#28466 * lisp/vc/log-view.el (log-view-diff-common): If point is after last entry, look at the previous revision.
Diffstat (limited to 'lisp/vc/log-view.el')
-rw-r--r--lisp/vc/log-view.el14
1 files changed, 10 insertions, 4 deletions
diff --git a/lisp/vc/log-view.el b/lisp/vc/log-view.el
index 52f56ed990f..d6963d0a1b9 100644
--- a/lisp/vc/log-view.el
+++ b/lisp/vc/log-view.el
@@ -608,10 +608,16 @@ considered file(s)."
(log-view-diff-common beg end t)))
(defun log-view-diff-common (beg end &optional whole-changeset)
- (let ((to (log-view-current-tag beg))
- (fr (log-view-current-tag end)))
- (when (string-equal fr to)
- ;; TO and FR are the same, look at the previous revision.
+ (let* ((to (log-view-current-tag beg))
+ (fr-entry (log-view-current-entry end))
+ (fr (cadr fr-entry)))
+ ;; When TO and FR are the same, or when point is on a line after
+ ;; the last entry, look at the previous revision.
+ (when (or (string-equal fr to)
+ (>= (point)
+ (save-excursion
+ (goto-char (car fr-entry))
+ (forward-line))))
(setq fr (vc-call-backend log-view-vc-backend 'previous-revision nil fr)))
(vc-diff-internal
t (list log-view-vc-backend