emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 82db17d: Publicize behavior of log-view-diff at beg


From: Juri Linkov
Subject: [Emacs-diffs] master 82db17d: Publicize behavior of log-view-diff at beginning/end of active region
Date: Sun, 19 May 2019 16:11:34 -0400 (EDT)

branch: master
commit 82db17d0d1231c4aa26e837f37428c44a67663ea
Author: Juri Linkov <address@hidden>
Commit: Juri Linkov <address@hidden>

    Publicize behavior of log-view-diff at beginning/end of active region
    
    * lisp/vc/log-view.el (log-view-diff, log-view-diff-changeset):
    * doc/emacs/maintaining.texi (VC Change Log): Document behavior of
    log-view-diff at the beginning and the end of the log buffer
    when the region is active.  (Bug#35624)
    
    * lisp/vc/vc-git.el (vc-git-print-log): Insert newline at the
    beginning to enable the feature of diffing with the working revision.
---
 doc/emacs/maintaining.texi | 11 +++++++++++
 lisp/vc/log-view.el        | 14 ++++++++++++++
 lisp/vc/vc-git.el          |  4 ++--
 3 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 4986c11..0fbf91a 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -1033,6 +1033,7 @@ systems support modifying change comments.
 Visit the revision indicated at the current line.
 
 @item d
address@hidden =
 Display a diff between the revision at point and the next earlier
 revision, for the specific file.
 
@@ -1047,6 +1048,16 @@ L}), toggle between showing and hiding the full log 
entry for the
 revision at point.
 @end table
 
+To compare two arbitrary revisions, activate the region: set the
+beginning of the region to the line with the first revision and the
+end of the region to the line with the second revision to compare,
+then type @kbd{d} or @kbd{=}.  When the beginning of the region is on
+the top line that has no revision, it uses the current working revision
+as the first revision to compare.  When the end of the region is on
+the bottom non-revision line after the last revision line, then it
+uses the next earlier revision after the last displayed revision as
+the second revision to compare.
+
 @vindex vc-log-show-limit
 Because fetching many log entries can be slow, the
 @file{*vc-change-log*} buffer displays no more than 2000 revisions by
diff --git a/lisp/vc/log-view.el b/lisp/vc/log-view.el
index 3389264..0b57e1d 100644
--- a/lisp/vc/log-view.el
+++ b/lisp/vc/log-view.el
@@ -585,6 +585,13 @@ point, get the diff between the revision at point and its
 previous revision.  Otherwise, get the diff between the revisions
 where the region starts and ends.
 
+When the beginning of the region is on the top line that has no revision,
+use the current working revision as the first revision to compare.
+
+When the end of the region is on the bottom non-revision line after
+the last revision line, use the previous revision of the last
+displayed revision as the second revision to compare.
+
 Unlike `log-view-diff-changeset', this function only shows the
 part of the changeset which affected the currently considered
 file(s)."
@@ -600,6 +607,13 @@ point, get the diff between the revision at point and its
 previous revision.  Otherwise, get the diff between the revisions
 where the region starts and ends.
 
+When the beginning of the region is on the top line that has no revision,
+use the current working revision as the first revision to compare.
+
+When the end of the region is on the bottom non-revision line after
+the last revision line, use the previous revision of the last
+displayed revision as the second revision to compare.
+
 Unlike `log-view-diff' this function shows the whole changeset,
 including changes affecting other files than the currently
 considered file(s)."
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 61c1302..b6feb3b 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1017,8 +1017,8 @@ If LIMIT is a revision string, use it as an end-revision."
     ;; If the buffer exists from a previous invocation it might be
     ;; read-only.
     (let ((inhibit-read-only t))
-      (with-current-buffer
-          buffer
+      (with-current-buffer buffer
+       (insert "\n")
        (apply 'vc-git-command buffer
               'async files
               (append



reply via email to

[Prev in Thread] Current Thread [Next in Thread]