From: Kumar Appaiah Date: Sat, 03 Aug 2013 00:23:18 GMT Subject: [[TIG][PATCH] 2/3] Display correct diff the context in split log view Message-ID: <1375489399-11618-3-git-send-email-a.kumar@alumni.iitm.ac.in> In-Reply-To: <1375489399-11618-1-git-send-email-a.kumar@alumni.iitm.ac.in> 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 --- NEWS | 1 + tig.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/NEWS b/NEWS index 0394407..f59e517 100644 --- a/NEWS +++ b/NEWS @@ -46,6 +46,7 @@ Bug fixes: - Fix rendering glitch for branch names. - Do not apply diff styling to untracked files in the stage view. (GH #153) - Fix tree indentation for entries containing combining characters. (GH #170) + - Introduce a more natural context-sensitive log display. (GH #155) tig-1.1 ------- diff --git a/tig.c b/tig.c index dd4b0f4..53947b7 100644 --- a/tig.c +++ b/tig.c @@ -4478,6 +4478,18 @@ log_request(struct view *view, enum request request, struct line *line) state->update_commit_ref = TRUE; return pager_request(view, request, line); + case REQ_ENTER: + /* Recalculate the correct commit for the context. */ + state->update_commit_ref = TRUE; + + open_view(view, REQ_VIEW_DIFF, OPEN_SPLIT); + update_view_title(view); + + /* We don't want to delegate this to pager_request, + since we don't want the extra scrolling of the log + view. */ + return REQ_NONE; + default: return pager_request(view, request, line); } -- 1.8.3.2