diff --git a/include/tig/argv.h b/include/tig/argv.h index 2b70af34f..a62f388b8 100644 --- a/include/tig/argv.h +++ b/include/tig/argv.h @@ -63,6 +63,7 @@ typedef unsigned long argv_number; struct argv_env { ARGV_ENV_INFO(ARGV_ENV_FIELDS) unsigned long goto_lineno; + unsigned long blame_lineno; char goto_id[SIZEOF_REV]; char search[SIZEOF_STR]; char none[1]; diff --git a/src/blame.c b/src/blame.c index 9c1dd7e6e..893ea4055 100644 --- a/src/blame.c +++ b/src/blame.c @@ -451,7 +451,9 @@ blame_request(struct view *view, enum request request, struct line *line) if (diff->pipe) string_copy_rev(diff->ref, NULL_ID); } else { - open_diff_view(view, flags); + string_ncopy(view->env->file, blame->commit->filename, strlen(blame->commit->filename)); + view->env->blame_lineno = blame->lineno; + open_diff_view(view, flags | OPEN_RELOAD); } break; diff --git a/src/diff.c b/src/diff.c index 9f070f53c..e57dcdb03 100644 --- a/src/diff.c +++ b/src/diff.c @@ -543,6 +543,15 @@ diff_read(struct view *view, struct buffer *buf, bool force_stop) } } + if (view->env->blame_lineno) { + state->file = get_path(view->env->file); + state->lineno = view->env->blame_lineno; + state->pos.offset = 0; + state->pos.lineno = view->lines - 1; + + view->env->blame_lineno = 0; + } + diff_restore_line(view, state); if (!state->adding_describe_ref && !ref_list_contains_tag(view->vid)) { diff --git a/test/blame/default-test b/test/blame/default-test index 8a5bc8de0..74d217f44 100755 --- a/test/blame/default-test +++ b/test/blame/default-test @@ -71,17 +71,7 @@ assert_equals 'blame-with-diff.screen' < -AuthorDate: Tue Oct 29 18:46:52 2013 +0100 -Commit: Sébastien Doeraene -CommitDate: Tue Oct 29 18:46:52 2013 +0100 - - Update for new groupId and package structure of Scala.js. ---- - project/Build.scala | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - + diff --git a/project/Build.scala b/project/Build.scala index 560bca1..1713681 100644 --- a/project/Build.scala @@ -89,7 +79,17 @@ index 560bca1..1713681 100644 @@ -1,7 +1,7 @@ import sbt._ import Keys._ -[diff] 74537d9b257954056d3caa19eb3837500aded883 - line 1 of 24 75% + +-import ch.epfl.lamp.sbtscalajs._ ++import scala.scalajs.sbtplugin._ + import ScalaJSPlugin._ + import ScalaJSKeys._ + + + + + +[diff] Changes to 'project/Build.scala' - line 20 of 24 100% EOF assert_equals 'blame-with-diff-no-file-filter.screen' < -AuthorDate: Tue Oct 29 18:46:52 2013 +0100 -Commit: Sébastien Doeraene -CommitDate: Tue Oct 29 18:46:52 2013 +0100 - - Update for new groupId and package structure of Scala.js. ---- - project/Build.scala | 2 +- - project/build.sbt | 2 +- - tracer/App.scala | 4 ++-- - tracer/Engine.scala | 2 +- - tracer/JSTypes.scala | 2 +- - 5 files changed, 6 insertions(+), 6 deletions(-) - + diff --git a/project/Build.scala b/project/Build.scala index 560bca1..1713681 100644 --- a/project/Build.scala -[diff] 74537d9b257954056d3caa19eb3837500aded883 - line 1 of 76 23% ++++ b/project/Build.scala +@@ -1,7 +1,7 @@ + import sbt._ + import Keys._ + +-import ch.epfl.lamp.sbtscalajs._ ++import scala.scalajs.sbtplugin._ + import ScalaJSPlugin._ + import ScalaJSKeys._ + +diff --git a/project/build.sbt b/project/build.sbt +index 63f84d4..f5971c3 100644 +--- a/project/build.sbt ++++ b/project/build.sbt +[diff] Changes to 'project/Build.scala' - line 24 of 76 42% EOF assert_equals 'blame-parent-of-74537d9.screen' <