diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-02-27 19:03:33 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-02-27 19:03:33 +0100 |
| commit | be0c5ddf49b30700d61515ef79d1909f0a6344f8 (patch) | |
| tree | 0446874f9b36922a7534822581617dcade8a26f0 /src/buffer_iterator.inl.hh | |
| parent | cd8c36fc500dc0df5fb4232a8b1b94ab89495737 (diff) | |
minor performance tweaks
Diffstat (limited to 'src/buffer_iterator.inl.hh')
| -rw-r--r-- | src/buffer_iterator.inl.hh | 9 |
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()); } |
