summaryrefslogtreecommitdiff
path: root/src/buffer_iterator.inl.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-02-27 19:03:33 +0100
committerMaxime Coste <frrrwww@gmail.com>2013-02-27 19:03:33 +0100
commitbe0c5ddf49b30700d61515ef79d1909f0a6344f8 (patch)
tree0446874f9b36922a7534822581617dcade8a26f0 /src/buffer_iterator.inl.hh
parentcd8c36fc500dc0df5fb4232a8b1b94ab89495737 (diff)
minor performance tweaks
Diffstat (limited to 'src/buffer_iterator.inl.hh')
-rw-r--r--src/buffer_iterator.inl.hh9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/buffer_iterator.inl.hh b/src/buffer_iterator.inl.hh
index 1e477561..717da898 100644
--- a/src/buffer_iterator.inl.hh
+++ b/src/buffer_iterator.inl.hh
@@ -76,7 +76,7 @@ inline void BufferIterator::on_insert(const BufferCoord& begin,
if (m_coord < begin)
return;
- if (begin.line == line())
+ if (begin.line == m_coord.line)
m_coord.column = end.column + m_coord.column - begin.column;
m_coord.line += end.line - begin.line;
@@ -90,7 +90,11 @@ inline void BufferIterator::on_erase(const BufferCoord& begin,
return;
if (m_coord <= end)
+ {
m_coord = begin;
+ if (is_end())
+ operator--();
+ }
else
{
if (end.line == m_coord.line)
@@ -101,9 +105,6 @@ inline void BufferIterator::on_erase(const BufferCoord& begin,
else
m_coord.line -= end.line - begin.line;
}
-
- if (is_end())
- operator--();
assert(is_valid());
}