From 3ccfbc8a002e1e0f64b5408d26bc42282afc194b Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Tue, 22 Apr 2025 22:38:28 -0700 Subject: [PATCH] [lldb] Make sure changing the separator takes immediate effect (#136779) The setter is only used when changing the setting programmatically. When using the settings command, we need to monitor SetPropertyValue. --- lldb/source/Core/Debugger.cpp | 4 +++- lldb/test/API/functionalities/statusline/TestStatusline.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp index b572210f2560..cd8726eeba63 100644 --- a/lldb/source/Core/Debugger.cpp +++ b/lldb/source/Core/Debugger.cpp @@ -257,7 +257,9 @@ Status Debugger::SetPropertyValue(const ExecutionContext *exe_ctx, else m_statusline.reset(); } else if (property_path == - g_debugger_properties[ePropertyStatuslineFormat].name) { + g_debugger_properties[ePropertyStatuslineFormat].name || + property_path == + g_debugger_properties[ePropertySeparator].name) { // Statusline format changed. Redraw the statusline. RedrawStatusline(); } else if (property_path == diff --git a/lldb/test/API/functionalities/statusline/TestStatusline.py b/lldb/test/API/functionalities/statusline/TestStatusline.py index dcededdb11e3..da6b4e7c8f32 100644 --- a/lldb/test/API/functionalities/statusline/TestStatusline.py +++ b/lldb/test/API/functionalities/statusline/TestStatusline.py @@ -46,8 +46,10 @@ class TestStatusline(PExpectTest): self.child.expect(re.escape("a.out | main.c:2:11 | bre")) self.child.setwinsize(terminal_height, terminal_width) + # Change the separator. + self.expect('set set separator "S "', ["a.out S main.c:2:11"]) + # Change the format. - self.expect('set set separator "S"') self.expect( 'set set statusline-format "target = {${target.file.basename}} ${separator}"', ["target = a.out S"],