| Age | Commit message (Collapse) | Author |
|
- Create struct stream_emit_ctx packing stream queue arguments into 1 cache line
- Reduce emit_stream_bulk_wrapped from 13 parameters to 3
- Reduce flush_stream_queue from 10 parameters to 1
- Extract stream_queue_finish to eliminate duplicated cleanup in kernel instantiations
- Replace EMIT_STREAM_ROW macros with typed inline functions
- Move pending_wrap clearing directly into term_screen_erase, insert, delete, and scroll
- Remove sc_erase_display, sc_erase_line, sc_insert_chars, and sc_delete_chars wrappers
- Consolidate term_row and remove duplicated row_fill_gap helper
|
|
|
|
Both failures were stale expectations in our copy of the suite.
8c2464c moved the terminal to xterm behavior and added spec tests for
it. The Kitty bridge did not compile then, so nobody updated the suite.
- A cursor report with a pending wrap gives the last column (1;5).
Kitty gives the start of the next line.
- HT only moves the cursor. Kitty writes a tab cell, which erases the
text under the tab. REP after the tab then repeats nothing.
The suite went weeks without running, because it needed
-Dkitty_tests=true. Now every unsanitized Linux build runs it in the
unit suite, and the main option only makes it mandatory. The README
lists the deliberate differences from Kitty.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The core now builds, tests, and benchmarks alone, as a Meson subproject
with no dependency on the main tree.
- include/term/ holds term.h and the header-only unicode/. src/ holds
the core and its private headers. The main tree gets only
include/term through term_dep, so it cannot reach a private header.
- The term tests, the term benchmarks, the Kitty parser suite, and
tools/amalgamate.py and tools/generate_unicode.py move with it. The
tests run as term:<name>.
- The main build passes its -march (arch_flag) and b_ndebug to the
subproject. A directory configured before this commit needs
meson configure -Dterm:arch_flag=-march=... once.
- The term tests compile with -UNDEBUG. They do work inside assert.
- The subproject exports term_test_dep with term_api.h, for the main
tree's render, thumbnail, color, and selection tests.
- The Kitty bridge used struct vector2i and has not compiled since the
public API redesign. It builds again. 2 of its 14 tests fail: REP
after a tab, and a cursor report after a resize.
- dirgraph.py drops the term and unicode layers. Its self-test uses pty.
- The symbols test ignores the __odr_asan symbols that ASan adds.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|