From 1fd99e7e88c48d503a07b8a53580622467ae407f Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Wed, 3 Apr 2013 19:22:12 +0200 Subject: =?UTF-8?q?do=20not=20check=20buffer=20invariant=20in=20do=5F{eras?= =?UTF-8?q?e,insert}=20as=20this=20cause=20O(n=C2=B2)=20behaviour?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/editor.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/editor.cc') diff --git a/src/editor.cc b/src/editor.cc index ef2d0a9b..6b058f3a 100644 --- a/src/editor.cc +++ b/src/editor.cc @@ -88,10 +88,10 @@ void Editor::insert(const String& str, InsertMode mode) { sel.first() = pos; sel.last() = str.empty() ? pos : utf8::character_start(pos + str.length() - 1); - sel.check_invariant(); } sel.avoid_eol(); } + check_invariant(); } void Editor::insert(const memoryview& strings, InsertMode mode) @@ -110,10 +110,10 @@ void Editor::insert(const memoryview& strings, InsertMode mode) { sel.first() = pos; sel.last() = str.empty() ? pos : utf8::character_start(pos + str.length() - 1); - sel.check_invariant(); } sel.avoid_eol(); } + check_invariant(); } std::vector Editor::selections_content() const @@ -408,6 +408,7 @@ void Editor::check_invariant() const assert(not m_selections.empty()); assert(m_main_sel < m_selections.size()); m_selections.check_invariant(); + buffer().check_invariant(); assert(std::is_sorted(m_selections.begin(), m_selections.end(), compare_selections)); #endif } -- cgit v1.2.3