Skip to content

Commit c240358

Browse files
DavidSpickettJDevlieghere
authored andcommitted
[lldb] Disable statusline on Windows (llvm#138111)
Something to do with control code handling in Windows terminals breaks the statusline in various ways. It makes LLDB unusable and even if you set the setting to disable statusline, it's too late, and the terminal session is now in a weird state. See llvm#134846 for more details. Until we figure this out, don't allow it to be used on Windows. (cherry picked from commit 09488bc)
1 parent e49951f commit c240358

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

lldb/source/Core/CoreProperties.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ let Definition = "debugger" in {
228228
def ShowStatusline: Property<"show-statusline", "Boolean">,
229229
Global,
230230
DefaultTrue,
231-
Desc<"Whether to show a statusline at the bottom of the terminal.">;
231+
Desc<"Whether to show a statusline at the bottom of the terminal (not supported on Windows).">;
232232
def Separator : Property<"separator", "String">,
233233
Global,
234234
DefaultStringValue<"│ ">,

lldb/source/Core/Debugger.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2040,13 +2040,17 @@ void Debugger::CancelForwardEvents(const ListenerSP &listener_sp) {
20402040
}
20412041

20422042
bool Debugger::StatuslineSupported() {
2043+
// We have trouble with the contol codes on Windows, see
2044+
// https://github.com/llvm/llvm-project/issues/134846.
2045+
#ifndef _WIN32
20432046
if (GetShowStatusline()) {
20442047
if (lldb::LockableStreamFileSP stream_sp = GetOutputStreamSP()) {
20452048
File &file = stream_sp->GetUnlockedFile();
20462049
return file.GetIsInteractive() && file.GetIsRealTerminal() &&
20472050
file.GetIsTerminalWithColors();
20482051
}
20492052
}
2053+
#endif
20502054
return false;
20512055
}
20522056

0 commit comments

Comments
 (0)