vt: process C0::VT the same way we process C0::LF

Previously, C0::VT was implemented as a simple 'cursor down'. I.e. it
would behave as LF **until** it reached the bottom of the screen,
where instead of scrolling, it became a no-op.

See https://vt100.net/docs/vt102-ug/chapter5.html
This commit is contained in:
Daniel Eklöf 2020-07-14 09:15:15 +02:00
parent 7357bb54eb
commit 4849a16f37
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 5 additions and 6 deletions

View file

@ -93,6 +93,8 @@
* Sixel handling when scrollback wraps around.
* Foot now issues much fewer `wl_surface_damage_buffer()` calls
(https://codeberg.org/dnkl/foot/issues/35).
* `C0::VT` to be processed as `C0::LF`. Previously, `C0::VT` would
only move the cursor down, but never scroll.
### Security

9
vt.c
View file

@ -147,13 +147,10 @@ action_execute(struct terminal *term, uint8_t c)
}
case '\n':
/* LF - line feed */
term_linefeed(term);
break;
case '\v':
/* VT - vertical tab */
term_cursor_down(term, 1);
/* LF - \n - line feed */
/* VT - \v - vertical tab */
term_linefeed(term);
break;
case '\r':