diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2026-03-20 12:05:19 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-20 12:05:19 +0800 |
| commit | 238d4fa71ad92edb66be2806c161e6304fc7b839 (patch) | |
| tree | e3481593168fd2dbc4c5f917be7d1b2079bcab20 /runtime/lua/vim/provider/python.lua | |
| parent | d36e7787c1e71411a394f7e19f78054f8d7005c2 (diff) | |
fix(terminal): possible missing refresh with buffer updates (#38388)
Problem:
Terminal refresh may be missed if buffer update callbacks poll for uv
events. Example test failure on FreeBSD:
FAILED test/functional/terminal/buffer_spec.lua @ 1049: :terminal buffer scrollback is correct if buffer update callbacks poll for uv events
test/functional/terminal/buffer_spec.lua:1004: Row 1 did not match.
Expected:
|*19995: TEST{MATCH: +}|
|*19996: TEST{MATCH: +}|
|*19997: TEST{MATCH: +}|
|*19998: TEST{MATCH: +}|
|*19999: TEST{MATCH: +}|
|^[Process exited 0] |
|{5:-- TERMINAL --} |
Actual:
|*19696: TEST |
|*19697: TEST |
|*19698: TEST |
|*19699: TEST |
|*19700: TEST |
|^[Process exited 0] |
|{5:-- TERMINAL --} |
Solution:
Call changed_lines() after resetting invalid region in refresh_screen().
Handle terminal being invalidated in the middle of refresh_timer_cb().
Diffstat (limited to 'runtime/lua/vim/provider/python.lua')
0 files changed, 0 insertions, 0 deletions
