From e0049bb587e13b44cadb10a1347ec775ed6de59e Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Mon, 14 Sep 2015 14:28:45 +0100 Subject: [PATCH] Fix backward search searching from on char before the corret one. Fixes #406 --- src/selectors.hh | 3 +-- test/compose/backward-search/cmd | 1 + test/compose/backward-search/in | 1 + test/compose/backward-search/state | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 test/compose/backward-search/cmd create mode 100644 test/compose/backward-search/in create mode 100644 test/compose/backward-search/state diff --git a/src/selectors.hh b/src/selectors.hh index 8e61a151..2f638216 100644 --- a/src/selectors.hh +++ b/src/selectors.hh @@ -274,8 +274,7 @@ Selection find_next_match(const Buffer& buffer, const Selection& sel, const Rege CaptureList captures; MatchResults matches; bool found = false; - auto pos = direction == Forward ? utf8::next(begin, buffer.end()) - : utf8::previous(begin, buffer.begin()); + auto pos = direction == Forward ? utf8::next(begin, buffer.end()) : begin; if ((found = find_match_in_buffer(buffer, pos, matches, regex))) { begin = ensure_char_start(buffer, matches[0].first); diff --git a/test/compose/backward-search/cmd b/test/compose/backward-search/cmd new file mode 100644 index 00000000..233d5449 --- /dev/null +++ b/test/compose/backward-search/cmd @@ -0,0 +1 @@ +xxx diff --git a/test/compose/backward-search/in b/test/compose/backward-search/in new file mode 100644 index 00000000..7bc61746 --- /dev/null +++ b/test/compose/backward-search/in @@ -0,0 +1 @@ +xxx%(y)yyxxx diff --git a/test/compose/backward-search/state b/test/compose/backward-search/state new file mode 100644 index 00000000..ed36bb39 --- /dev/null +++ b/test/compose/backward-search/state @@ -0,0 +1 @@ +1.1,1.3