{"record":{"id":"e7c3bd792919446a","repo":"kovidgoyal/kitty","slug":"s-s-u","errorCode":null,"errorMessage":"%s %s %u","messagePattern":"%s %s %u","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"kitty/screen.c","lineNumber":2399,"sourceCode":"                self->cursor->x = i;\n                break;\n            }\n        }\n        if (i <= 0) self->cursor->x = 0;\n    }\n}\n\nvoid\nscreen_clear_tab_stop(Screen *self, unsigned int how) {\n    switch (how) {\n        case 0:\n            if (self->cursor->x < self->columns) self->tabstops[self->cursor->x] = false;\n            break;\n        case 2: break; // no-op\n        case 3:\n            for (unsigned int i = 0; i < self->columns; i++) self->tabstops[i] = false;\n            break;\n        default: log_error(\"%s %s %u\", ERROR_PREFIX, \"Unsupported clear tab stop mode: \", how); break;\n    }\n}\n\nvoid\nscreen_set_tab_stop(Screen *self) {\n    if (self->cursor->x < self->columns) self->tabstops[self->cursor->x] = true;\n}\n\nvoid\nscreen_reset_tab_stops(Screen *self) {\n    init_tabstops(self->tabstops, self->columns);\n}\n\nvoid\nscreen_cursor_move(Screen *self, unsigned int count /*=1*/, int move_direction /*=-1*/, bool allow_move_to_previous_line) {\n    if (count == 0) count = 1;\n    bool in_margins = cursor_within_margins(self);\n    if (move_direction > 0) {","sourceCodeStart":2381,"sourceCodeEnd":2417,"githubUrl":"https://github.com/kovidgoyal/kitty/blob/6d5d0c440603ad9bdf6dcd599f73f6dde21acb44/kitty/screen.c#L2381-L2417","documentation":"The application sent CSI N T (tab clear / TBC) with an invalid parameter 'how' (not 0, 2, or 3); kitty logs the value and ignores the sequence.","triggerScenarios":"Malformed tab-clear escape sequence such as CSI 5 T from a buggy terminal client or TUI library.","commonSituations":"Bugs in TUI libraries emitting nonstandard TBC parameters; harmless.","solutions":["Ignore - the sequence is discarded","Fix the emitting program to use 0 (clear current), 2 (line, no-op in kitty), or 3 (clear all)"],"exampleFix":"# before\nprintf '\\033[5T'\n# after\nprintf '\\033[3T'  # clear all tab stops","handlingStrategy":"validation","validationCode":"# only emit valid TBC parameters\nassert how in (0, 2, 3)\nsys.stdout.write(f'\\033[{how}T')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Validate escape-sequence parameters in TUI libraries"],"tags":["kitty","tab-stops","escape-sequences"],"backgroundTag":"invalid-terminal-mode-sequence","analyzedSha":"6d5d0c440603ad9bdf6dcd599f73f6dde21acb44","analyzedAt":"2026-08-27T14:20:20.142Z","schemaVersion":2},"datasetVersion":"2026-08-27T19:17:21.184Z"}