In the log view, when scrolling across a commit, the diff view should
automatically switch to the commit whose context the cursor is on in
the log view. This commit changes things to catch the REQ_ENTER in the
log view and handle recalculation of the commit and diff display from
log_request, rather than delegating it to pager_request. In addition,
it also gets rid of unexpected upward scrolling of the log view.

Fixes GH #155

Signed-Off-By: Kumar Appaiah <a.ku...@alumni.iitm.ac.in>
---
 NEWS  | 1 +
 tig.c | 9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 076ac9d..1b0f737 100644
--- a/NEWS
+++ b/NEWS
@@ -49,6 +49,7 @@ Bug fixes:
  - Ignore unrepresentable characters when transliterating text for rendering.
  - Transliterate text to output encoding before trimming it to avoid
    misalignment. (GH #86)
+ - Introduce a more natural context-sensitive log display. (GH #155)
 
 tig-1.1
 -------
diff --git a/tig.c b/tig.c
index 845153f..256b589 100644
--- a/tig.c
+++ b/tig.c
@@ -4475,8 +4475,15 @@ log_request(struct view *view, enum request request, 
struct line *line)
                state->recalculate_commit_context = TRUE;
                return request;
 
+       case REQ_ENTER:
+               state->recalculate_commit_context = TRUE;
+               if (VIEW(REQ_VIEW_DIFF)->ref != ref_commit)
+                       open_view(view, REQ_VIEW_DIFF, OPEN_SPLIT);
+               update_view_title(view);
+               return request;
+
        default:
-               return pager_request(view, request, line);
+               return request;
        }
 }
 
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to