From 116ea7364ab70703cea4a6fc2ce34c42b99fc13e Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Fri, 19 Dec 2014 13:45:38 +0000 Subject: Restore some special behaviours, I missed them in interactive mode. --- src/selection.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/selection.cc') diff --git a/src/selection.cc b/src/selection.cc index a9623a73..d5f72eb3 100644 --- a/src/selection.cc +++ b/src/selection.cc @@ -443,7 +443,11 @@ BufferIterator prepare_insert(Buffer& buffer, const Selection& sel, InsertMode m case InsertMode::Replace: return erase(buffer, sel); case InsertMode::Append: - return utf8::next(buffer.iterator_at(sel.max()), buffer.end()); + { + // special case for end of lines, append to current line instead + auto pos = buffer.iterator_at(sel.max()); + return *pos == '\n' ? pos : utf8::next(pos, buffer.end()); + } case InsertMode::InsertAtLineBegin: return buffer.iterator_at(sel.min().line); case InsertMode::AppendAtLineEnd: -- cgit v1.2.3