diff options
author | Jonas Fonseca <jonas.fonseca@gmail.com> | 2014-03-08 11:50:06 -0500 |
---|---|---|
committer | Jonas Fonseca <jonas.fonseca@gmail.com> | 2014-03-08 11:50:06 -0500 |
commit | 152bf0b542d31ce34bc91cd02fc7cafad448b4f2 (patch) | |
tree | e77e99ccc941a3ccafcd41eae97a472c75e79ea4 | |
parent | d0b2b352f2f4a4da4b551f845fea9fc771c3dff9 (diff) |
Fix prompt-based searching to always use initial search request
-rw-r--r-- | src/tig.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -674,8 +674,13 @@ run_prompt_command(struct view *view, char *cmd) return get_keybinding(&view->ops->keymap, &input); } else if (cmd[0] == '/' || cmd[0] == '?') { - string_ncopy(view->env->search, cmd + 1, strlen(cmd + 1)); - return cmd[0] == '/' ? REQ_FIND_NEXT : REQ_FIND_PREV; + const char *search = cmd + 1; + + if (!strcmp(search, view->env->search)) + return cmd[0] == '/' ? REQ_FIND_NEXT : REQ_FIND_PREV; + + string_ncopy(view->env->search, search, strlen(search)); + return cmd[0] == '/' ? REQ_SEARCH : REQ_SEARCH_BACK; } else if (cmd[0] == '!') { struct view *next = VIEW(REQ_VIEW_PAGER); |