diff options
author | June McEnroe <june@causal.agency> | 2019-08-10 16:22:08 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2019-08-10 16:22:08 -0400 |
commit | a4e70e8c8dd2c5f367b5baa14d9bf2f39b6fb09d (patch) | |
tree | be174b0768c4241e7dc2988993f0c51be9c05b6c | |
parent | Handle HT (diff) | |
download | stream-a4e70e8c8dd2c5f367b5baa14d9bf2f39b6fb09d.tar.gz stream-a4e70e8c8dd2c5f367b5baa14d9bf2f39b6fb09d.zip |
Fix RI
It's like reverse-NL, not just scrolling.
-rw-r--r-- | term.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/term.c b/term.c index 52e9257..c71d4dc 100644 --- a/term.c +++ b/term.c @@ -202,8 +202,13 @@ ACTION(nl) { Y = MIN(Y + 1, B); } } -ACTION(ind) { scrollUp(t, 1); } -ACTION(ri) { scrollDown(t, 1); } +ACTION(ri) { + if (Y == t->scroll.top) { + scrollDown(t, 1); + } else { + if (Y) Y--; + } +} ACTION(su) { scrollUp(t, MIN(P(0, 1), t->scroll.bot - t->scroll.top)); } ACTION(sd) { scrollDown(t, MIN(P(0, 1), t->scroll.bot - t->scroll.top)); } ACTION(decstbm) { @@ -364,7 +369,6 @@ static Action *Actions[][128] = { [ESC]['8'] = decrc, [ESC]['='] = nop, [ESC]['>'] = nop, - [ESC]['D'] = ind, [ESC]['M'] = ri, [ESC]['['] = csi, [ESC][']'] = osc, |