summaryrefslogtreecommitdiffstats
path: root/lldb/source/Host/common/Editline.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Host/common/Editline.cpp')
-rw-r--r--lldb/source/Host/common/Editline.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lldb/source/Host/common/Editline.cpp b/lldb/source/Host/common/Editline.cpp
index ed67d0c2c2b..d49dc8f7e2e 100644
--- a/lldb/source/Host/common/Editline.cpp
+++ b/lldb/source/Host/common/Editline.cpp
@@ -886,8 +886,11 @@ Editline::FixIndentationCommand (int ch)
}
else if (indent_correction < 0)
{
- info->cursor = info->buffer - indent_correction;
- el_wdeletestr (m_editline, -indent_correction);
+ // Delete characters for the unindentation AND including the character we just added.
+ el_wdeletestr (m_editline, -indent_correction + 1);
+
+ // Rewrite the character that caused the unindentation.
+ el_winsertstr (m_editline, inserted);
}
info->cursor = info->buffer + cursor_position + indent_correction;
return CC_REFRESH;
OpenPOWER on IntegriCloud