summaryrefslogtreecommitdiff
path: root/src/normal.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/normal.cc')
-rw-r--r--src/normal.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/normal.cc b/src/normal.cc
index e4d22cc6..4cc971a7 100644
--- a/src/normal.cc
+++ b/src/normal.cc
@@ -219,7 +219,8 @@ void goto_commands(Context& context, NormalParams params)
if (buffer != &context.buffer())
{
- BufferManager::instance().set_last_used_buffer(*buffer);
+ Buffer* oldbuf = &context.buffer();
+ BufferManager::instance().set_last_used_buffer(*oldbuf);
context.push_jump();
context.change_buffer(*buffer);
}
@@ -1096,9 +1097,10 @@ void jump(Context& context, NormalParams)
auto jump = (direction == Forward) ?
context.jump_forward() : context.jump_backward();
+ Buffer* oldbuf = &context.buffer();
Buffer& buffer = const_cast<Buffer&>(jump.buffer());
BufferManager::instance().set_last_used_buffer(buffer);
- if (&buffer != &context.buffer())
+ if (&buffer != oldbuf)
context.change_buffer(buffer);
context.selections() = jump;
}