diff options
| author | Tom Tromey <tom@tromey.com> | 2017-09-18 20:02:01 -0600 |
|---|---|---|
| committer | Tom Tromey <tom@tromey.com> | 2017-09-18 20:02:01 -0600 |
| commit | 066efb86660542238854a400c3c20b5cb526a3cd (patch) | |
| tree | 826d90d9eb79f9660a9252c140fc5fda6700c1a3 /lisp/vc/log-view.el | |
| parent | 3f006b56cdd9dff313ea88fcedad122968fe1e6b (diff) | |
| download | emacs-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.el | 14 |
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 |
