commit 487cd7d2bc0f29c4fb6800c8c815be552ad06ea6 from: Stefan Sperling date: Fri Dec 17 22:38:55 2021 UTC make tog searches start from the current position in all views ok naddy@ commit - 4a55b231883da25896fe302c04b11284bad0e125 commit + 487cd7d2bc0f29c4fb6800c8c815be552ad06ea6 blob - 771539241603427427680ffdc1db88ad3456d10a blob + 689aa4b67e0bcae980ac8b0f007f11c145528be1 --- tog/tog.c +++ tog/tog.c @@ -3428,12 +3428,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; @@ -4478,12 +4474,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; @@ -5368,7 +5360,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); @@ -6027,7 +6021,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);