summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/normal.cc2
-rw-r--r--test/normal/search-reverse-extending-multiple-selections/cmd1
-rw-r--r--test/normal/search-reverse-extending-multiple-selections/in4
-rw-r--r--test/normal/search-reverse-extending-multiple-selections/kak_selections_desc1
4 files changed, 7 insertions, 1 deletions
diff --git a/src/normal.cc b/src/normal.cc
index 8a8b958d..ba5b6e06 100644
--- a/src/normal.cc
+++ b/src/normal.cc
@@ -947,7 +947,7 @@ void extend_to_next_matches(Context& context, const Regex& regex, RegexMode mode
new_sels.push_back(sel);
merge_selections(new_sels.back(), new_sel);
}
- else if (new_sels.size() <= main_index)
+ else if (new_sels.size() <= main_index and main_index != 0)
--main_index;
}
if (new_sels.empty())
diff --git a/test/normal/search-reverse-extending-multiple-selections/cmd b/test/normal/search-reverse-extending-multiple-selections/cmd
new file mode 100644
index 00000000..7fb4cc09
--- /dev/null
+++ b/test/normal/search-reverse-extending-multiple-selections/cmd
@@ -0,0 +1 @@
+CCC)<a-?>1<ret>
diff --git a/test/normal/search-reverse-extending-multiple-selections/in b/test/normal/search-reverse-extending-multiple-selections/in
new file mode 100644
index 00000000..98fb6a68
--- /dev/null
+++ b/test/normal/search-reverse-extending-multiple-selections/in
@@ -0,0 +1,4 @@
+1
+1
+1
+1
diff --git a/test/normal/search-reverse-extending-multiple-selections/kak_selections_desc b/test/normal/search-reverse-extending-multiple-selections/kak_selections_desc
new file mode 100644
index 00000000..c64fa86e
--- /dev/null
+++ b/test/normal/search-reverse-extending-multiple-selections/kak_selections_desc
@@ -0,0 +1 @@
+2.1,1.1 3.1,2.1 4.1,3.1