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.kumar@xxxxxxxxxxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html