summaryrefslogtreecommitdiff
path: root/src/selection.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/selection.cc')
-rw-r--r--src/selection.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/selection.cc b/src/selection.cc
index 00280a4d..2a4a4629 100644
--- a/src/selection.cc
+++ b/src/selection.cc
@@ -411,9 +411,9 @@ void SelectionList::insert(ConstArrayView<String> strings, InsertMode mode,
if (mode == InsertMode::Replace)
{
auto changes = m_buffer->changes_since(old_timestamp);
- if (changes.size() < 2) // Nothing got inserted, either str was empty, or just \n at end of buffer
+ if (changes.size() == 1) // Nothing got inserted, either str was empty, or just \n at end of buffer
sel.anchor() = sel.cursor() = m_buffer->clamp(pos);
- else
+ else if (changes.size() == 2)
{
// we want min and max from *before* we do any change
auto& min = sel.min();
@@ -421,6 +421,8 @@ void SelectionList::insert(ConstArrayView<String> strings, InsertMode mode,
min = changes.back().begin;
max = m_buffer->char_prev(changes.back().end);
}
+ else
+ kak_assert(changes.empty());
}
else if (not str.empty())
{