diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c index 908cb834e4c..8cb68d12408 100644 --- a/gdb/tui/tui-io.c +++ b/gdb/tui/tui-io.c @@ -523,36 +523,37 @@ tui_puts_internal (WINDOW *w, const char *string, int *height) while ((c = *string++) != 0) { - if (c == '\n') - saw_nl = true; - if (c == '\1' || c == '\2') { /* Ignore these, they are readline escape-marking sequences. */ + continue; } - else - { - if (c == '\033') - { - size_t bytes_read = apply_ansi_escape (w, string - 1); - if (bytes_read > 0) - { - string = string + bytes_read - 1; - continue; - } - } - do_tui_putc (w, c); - if (height != nullptr) + if (c == '\033') + { + size_t bytes_read = apply_ansi_escape (w, string - 1); + if (bytes_read > 0) { - int col = getcurx (w); - if (col <= prev_col) - ++*height; - prev_col = col; + string = string + bytes_read - 1; + continue; } } + + if (c == '\n') + saw_nl = true; + + do_tui_putc (w, c); + + if (height != nullptr) + { + int col = getcurx (w); + if (col <= prev_col) + ++*height; + prev_col = col; + } } + if (TUI_CMD_WIN != nullptr && w == TUI_CMD_WIN->handle.get ()) update_cmdwin_start_line (); if (saw_nl)