commit 4b3f9dac335ebd6cb7b838589a3f6b9766a49cc7 from: Stefan Sperling via: Thomas Adam date: Fri Dec 17 23:50:13 2021 UTC make tog searches start from the current position in all views ok naddy@ commit - ce95518ef9da9d15ef65e0ef244d160b0bda6744 commit + 4b3f9dac335ebd6cb7b838589a3f6b9766a49cc7 blob - 633624a7d577258d2f9cb19eff6bee83dc9ae8ae blob + 65bbc598def6a6724f242787e83b1315f0119b53 --- tog/tog.c +++ tog/tog.c @@ -3438,12 +3438,8 @@ search_next_diff_view(struct tog_view *view) lineno = s->matched_line + 1; else lineno = s->matched_line - 1; - } else { - if (view->searching == TOG_SEARCH_FORWARD) - lineno = 1; - else - lineno = s->nlines; - } + } else + lineno = s->first_displayed_line; while (1) { off_t offset; @@ -4488,12 +4484,8 @@ search_next_blame_view(struct tog_view *view) lineno = s->matched_line + 1; else lineno = s->matched_line - 1; - } else { - if (view->searching == TOG_SEARCH_FORWARD) - lineno = 1; - else - lineno = s->blame.nlines; - } + } else + lineno = s->first_displayed_line - 1 + s->selected_line; while (1) { off_t offset; @@ -5378,7 +5370,9 @@ search_next_tree_view(struct tog_view *view) s->selected_entry); } } else { - if (view->searching == TOG_SEARCH_FORWARD) + if (s->selected_entry) + te = s->selected_entry; + else if (view->searching == TOG_SEARCH_FORWARD) te = got_object_tree_get_first_entry(s->tree); else te = got_object_tree_get_last_entry(s->tree); @@ -6037,7 +6031,9 @@ search_next_ref_view(struct tog_view *view) tog_reflist_head, entry); } } else { - if (view->searching == TOG_SEARCH_FORWARD) + if (s->selected_entry) + re = s->selected_entry; + else if (view->searching == TOG_SEARCH_FORWARD) re = TAILQ_FIRST(&s->refs); else re = TAILQ_LAST(&s->refs, tog_reflist_head);